ASP.NET Application在不使用Global.asax的情况下启动

zid*_*dar 4 asp.net configuration global-asax

我正在开发一个类似于网站应用程序的插件.由于要求,它将存在于与我没有源代码的主网站相同的物理路径和相同的应用程序池中.因此,它们共享相同的Web.config和其他一些依赖项.

我需要在应用程序启动时为第三方依赖项设置许可证,但我无法访问Global.asax背后的代码,因为该代码由其他公司拥有.

那么,是否有另一种方法可以将事件附加到Application Start而不涉及Global.asax,或者是我唯一的继承/扩展当前Global.asax的解决方案?

Art*_*hur 9

您可以使用HTTPModule:

public class MyModule : IHttpModule
{
    #region IHttpModule Members

    public void Dispose()
    {
    }

    public void Init(HttpApplication context)
    {
        ...
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

web.config中

<httpModules>
  <add name="MyModule" type="MyNamespace.MyModule, MyAssembly" />
</httpModules>
Run Code Online (Sandbox Code Playgroud)