我在网上搜索了一天以上,但我找不到任何我需要的东西。
我正在使用HttpHandlers和HttpModules开发一个IIS Web应用程序。我需要在第一次运行时初始化应用程序(应用配置)。但我不想使用global.asax.cs,因为我不希望实现在其文件夹中有一个global.asax文件(最多是一个web.config)。
如何在初始化应用程序池时运行一些代码?
答案 0 :(得分:1)
您可以使用程序集级别属性PreApplicationStartMethodAttribute让您的启动代码在ASP.NET管道中尽早运行。
namespace MyWebService
{
public class MyHttpHandler: IHttpHandler, IDisposable
{
public static void StartUp()
{
//Application Startup Code;
}
public void ProcessRequest(HttpContext context)
{
//Do Something
}
public bool IsReusable { get; private set; }
public void Dispose(){};
}
}
}
}
并将该属性添加到AssemblyInfo.cs
[assembly: PreApplicationStartMethod(typeof(MyWebService.MyHttpHandler), "StartUp")]
有关PreApplicationStartMethod的更多信息:https://msdn.microsoft.com/en-us/library/system.web.preapplicationstartmethodattribute