在应用程序池上初始化ASP.NET Web应用程序

时间:2016-10-05 13:34:42

标签: asp.net initialization httphandler

我在网上搜索了一天以上,但我找不到任何我需要的东西。

我正在使用HttpHandlers和HttpModules开发一个IIS Web应用程序。我需要在第一次运行时初始化应用程序(应用配置)。但我不想使用global.asax.cs,因为我不希望实现在其文件夹中有一个global.asax文件(最多是一个web.config)。

如何在初始化应用程序池时运行一些代码?

1 个答案:

答案 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