我们有一个使用HttpModule的MVC应用程序的日志框架。在其他功能中,我们使用它来计算请求的响应时间。
我们通过附加PostAcquireRequestState来初始化它以开始计时。我们附加到PostRequestHandlerExecute停止计时并登录到数据库。请参阅下面的初始化逻辑。
public void Init(HttpApplication context)
{
context.PostAcquireRequestState += OnBeginRequest;
context.PostRequestHandlerExecute += LogRequest;
}
对于ASP.Net MVC,这很有用。
我们正在努力使其适应我们的遗留WebForms应用程序。这两个事件正常工作,除非调用Response.Redirect()函数。在搜索有关页面生命周期的多个网页时,我无法找到有关在执行Response.Redirect后抛出的事件的信息。
答案 0 :(得分:0)
经过进一步的实验,我发现我可以使用EndRequest事件。
context.PostAcquireRequestState += OnBeginRequest;
context.EndRequest += LogRequest;