不使用 Global.asax 启动 ASP.NET 应用程序

标签 asp.net configuration global-asax

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

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

那么,是否有另一种方法可以在不涉及 Global.asax 的情况下将事件附加到应用程序启动,或者是我继承/扩展当前 Global.asax 的唯一解决方案?

最佳答案

您可以使用 HTTPModule:

public class MyModule : IHttpModule
{
    #region IHttpModule Members

    public void Dispose()
    {
    }

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

    #endregion
}

网页配置
<httpModules>
  <add name="MyModule" type="MyNamespace.MyModule, MyAssembly" />
</httpModules>

关于不使用 Global.asax 启动 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1530182/

相关文章:

Asp.net 图像按钮没有 onClick 事件

c# - 在 asp.net 3.5 中使用 RegisterClientScriptBlock/RegisterStartupScript

java - hibernate 配置: connection timed out post inactivity on application end

c# - 处理 ASP.NET 空 Web 应用程序上的所有请求

c# - Global.asax 中的 Server.Transfer

c# - 当分配给命令的连接处于挂起的本地事务中时,ExecuteNonQuery 要求命令具有事务

删除 WebApplications 上的目录时 ASP.NET 丢失 session 数据

java - 在 log4j2.properties 中设置翻转策略

Objective-c 方法混淆在 DEBUG 中有效,但在 RELEASE 中崩溃

c# - 给自己发500错误信息