【发布时间】:2009-07-16 18:51:12
【问题描述】:
我在 Global.asax 文件(在 ASP.NET MVC 应用程序中)中观察到 Application_BeginRequest 事件的一些真正令人困惑的行为。通过调试器运行时,如果我刷新浏览器 (IE7),此事件会触发两次。如果我单击链接或以其他方式手动请求页面,它会按预期触发一次。
为什么刷新会导致 BeginRequest 触发两次?
我在一个全新的 MVC 项目中观察到这一点,并在 Global.asax.cs 中添加了以下内容
protected void Application_BeginRequest() {
//executed twice
}
对于上下文,我试图在此事件期间向 HttpContext.Current.Items 集合添加一个新对象,因此它将在整个请求过程中持续存在。显然,我不希望对于一个刷新请求,这种情况发生两次!
【问题讨论】:
-
您是否正在执行任何类型的 URL 重定向?
-
哇; 2倍太多了吗?在调试时,Application_BeginRequest 会触发数百次。
标签: asp.net