7
我正在創建一個NuGet包,想知道是否有辦法修改目標網站的Global.asax?我想在Application_Start中添加一行(如果不存在,則創建Global.asax)。這可能嗎?更新如何工作?通過NuGet包更改Global.asax?
我正在創建一個NuGet包,想知道是否有辦法修改目標網站的Global.asax?我想在Application_Start中添加一行(如果不存在,則創建Global.asax)。這可能嗎?更新如何工作?通過NuGet包更改Global.asax?
推薦的方法不是修改主機應用程序的Global.asax文件。相反,您可以使用WebActivator
並向該項目添加單獨的文件。看看Ninject.MVC3
NuGet的例子,它確實如此。
例如,當溜溜安裝您的NuGet你可以在下面的文件只需添加到項目~/App_Start/MyNuGetAppStart.cs
:
[assembly: WebActivator.PreApplicationStartMethod(typeof(SomeNamespace.AppStart), "Start")]
namespace SomeNamespace
{
public static class AppStart
{
/// <summary>
/// Will run when the application is starting (same as Application_Start)
/// </summary>
public static void Start()
{
... put your initialization code here
}
}
}
這是一個更爲低調的方式在應用程序啓動時添加自定義代碼,而不是與全球搞亂.asax文件,用戶可能已經調整過了。