1

在查看 .net 上的 IIS7 应用程序生命周期后:

http://msdn.microsoft.com/en-us/library/ms178473.aspx

为了获得最佳性能,我想找到一种方法来在创建 HttpContext 对象但在 HttpApplication 之前启动我的代码。(在加载 HttpApplication 类之后运行代码很容易,但在使用 HTTP 模块的构造函数触发任何事件之前,如下所示:

    public class AuthModule : IHttpModule 
    {     
        public AuthModule()
        {
            HttpContext.Current.Response.Write("hello world");
            HttpContext.Current.Response.End();
        }

        #region IHttpModule Members

        public void Dispose()
        {  }

        public void Init(HttpApplication context)
        {   }

        #endregion
    }

我知道我无法访问 User 对象,但我不需要它。

4

2 回答 2

1

您永远无法确保您的代码在 HttpApplication 实例创建之前启动,因为这些实例可能会被重用。

此外,在这个阶段运行代码超出了管道的范围。它应该让你问自己这是否真的是一件明智的事情。

这与性能有关吗?你真的认为创建 HttpApplication 实例的时间会影响你的表现吗?

退后一步,重新考虑。

于 2009-01-30T01:40:55.340 回答
0

查看MSDN 上的生命周期事件。如果您想要比正常页面事件更早的事件,您可以考虑使用其中一个事件。

于 2009-01-30T01:22:18.247 回答