我想配置一个asp.net网站,以便每次请求它都会执行我的事件处理程序(比如跟踪/记录来自请求对象的一些信息),只有当请求由PageHandlerFactory
处理时才会执行。
我知道我可以在Application_BeginRequest
中编写它,但是每种请求都会被调用(无论是* .axd左右,如果我在这里错了,请纠正我)。 HttpContext.Current.CurrentHandler
此时可能为null,因此我无法为处理程序类型添加条件逻辑。出于某种原因(遗留业务规则/检查),我无法将我的逻辑移至Application_EndRequest
。
答案 0 :(得分:1)
使用可以尝试使用asp.net中的httphandler and httpmodule
它有一个事件LogRequest
LogRequest - 在ASP.NET执行任何日志记录之前发生 当前的要求。即使出现错误,也会引发LogRequest事件 发生。您可以为LogRequest事件提供事件处理程序 为请求提供自定义日志记录。
ASP.net中的我们已经
ASP.NET使用不同的HTTP处理程序来提供不同的文件类型。 例如,Web页面的处理程序创建页面和控件 对象,运行代码,并呈现最终的HTML。 ASP.NET默认 处理程序:
1)页面处理程序(.aspx) - 处理网页2)用户控制处理程序 (.ascx) - 处理Web用户控制页面3)Web服务处理程序 (.asmx) - 处理Web服务页面4)跟踪处理程序(trace.axd) - 处理跟踪功能
您可以获得更多洞察力 httphandler and httpmodule in asp.net