【发布时间】:2011-04-15 16:40:54
【问题描述】:
在我的应用程序中,我定义了一个实现 ihttpmodule 的类,它包含以下方法
public void Init(HttpApplication application)
{
application.EndRequest += new EventHandler(Application_EndRequest);
}
private void Application_EndRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
IObjectContainer objectClient = context.Items[KEY_DB4O_CLIENT] as IObjectContainer;
if (objectClient != null)
{
objectClient.Close();
}
objectClient = null;
context.Items[KEY_DB4O_CLIENT] = null;
}
当我尝试运行应用程序并对其进行调试时,我注意到一件奇怪的事情:
在 chrome private void Application_EndRequest(object sender, EventArgs e) 中,应用程序启动时执行了 3 次,应用程序结束时又执行了 3 次。
在 Internet Explorer 中 private void Application_EndRequest(object sender, EventArgs e) 在应用程序启动时执行 2 次,在应用程序结束时再次执行 2 次。
为什么 Application_EndRequest 会被执行多次。它不应该只运行一次吗?
我也想知道 Visual Studio Development Web Server 和 IIS 之间的区别?
我俩有什么区别。
请帮帮我
感谢期待
【问题讨论】:
-
我也看到了同样的情况,你知道为什么吗?我正在使用
curl访问该网站,所以我怀疑还有其他事情发生。