C# HttpHandler实例和HttpApplication对象-后者是否。。。?
一本书展示了一个示例,其中(在使用IIS7时)配置了以下模块,以便在网站上运行的任何web应用程序(甚至非asp.net应用程序)都可以使用该模块。但是:C# HttpHandler实例和HttpApplication对象-后者是否。。。?,c#,asp.net,httphandler,ihttphandler,C#,Asp.net,Httphandler,Ihttphandler,一本书展示了一个示例,其中(在使用IIS7时)配置了以下模块,以便在网站上运行的任何web应用程序(甚至非asp.net应用程序)都可以使用该模块。但是: 如果为非asp.net应用程序调用此模块,那么由于非asp.net应用程序不在CLR上下文中运行(因此asp.net运行时也不会运行),HttpApplication对象仍将如何创建或为什么创建? 假设还为非asp.net应用程序创建了HttpApplication对象,那么为什么Init()事件处理程序中的代码必须检查HttpApplic
HttpApplication
对象,那么为什么Init()事件处理程序中的代码必须检查HttpApplication
对象是否实际存在?为什么它不存在?这不是实例化Http模块实例的HttpApplication
对象吗public class SimpleSqlLogging : IHttpModule
{
private HttpApplication _CurrentApplication;
public void Dispose()
{
_CurrentApplication = null;
}
public void Init(HttpApplication context)
{
// Attach to the incoming request event
_CurrentApplication = context;
if (context != null)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
}
void context_BeginRequest(object sender, EventArgs e)
{ ... }
}
在IIS7中,使用集成管道运行的应用程序池中的应用程序始终是.NET应用程序。代码只是为了防御。关于HttpHander的链接:请不要只是提供答案的链接。