不为IHttpHandler触发Global.asax事件

时间:2012-03-16 07:47:26

标签: c# global-asax ihttphandler application-start

我在VS2010中编写了一个C#HttpHandler,并希望在application_start()事件中进行一些初始化(例如设置日志记录等),但由于某些原因它没有触发。

我尝试使用自动分配端口运行本地VS服务器并触发事件,但是对于IIS,事件永远不会发生。 ProcessRequest()正在触发,因此它会触及代码,但是当我运行解决方案时,即使重新启动IIS,application_start也不会触发。我已经读过VS无法挂钩到application_start事件,但我之前已经完成了,所以不要相信这是真的。应用程序池在.net集成模式下运行,我设置了我的起始URL以确保处理程序被触发,这就像我正在使用ProcessRequest()。

有什么理由不开火吗?

由于

修改。看起来我在Global.asax中没有任何事件被触发。有什么理由可能会发生这种情况吗?我如何“连线”?

1 个答案:

答案 0 :(得分:0)

1.你用这种方式编写Global.asax吗?

using System;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
public class Global : HttpApplication 
{
 protected void Application_Start(Object sender, EventArgs e) 
 {
   //some code
 }
}

2.您是否尝试修改web.config(即插入空行)?任何配置更改都将导致应用程序重新启动,因此事件将触发。