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文件,用户可能已经调整过了。