我在Global.asax文件中(在ASP.NET MVC应用程序中)使用Application_BeginRequest事件观察到一些非常令人困惑的行为.当通过调试器运行时,如果我刷新浏览器(IE7),此事件将触发两次.如果我单击链接或以其他方式手动请求页面,它会触发一次 - 如预期的那样.
为什么刷新导致BeginRequest触发两次?
我正在通过一个全新的MVC项目来观察这一点,其中以下内容被加入到Global.asax.cs中
protected void Application_BeginRequest() {
//executed twice
}
Run Code Online (Sandbox Code Playgroud)
对于上下文,我试图在此事件期间向HttpContext.Current.Items集合添加一个新对象,因此它将在整个请求过程中持续存在.显然,我不希望这次刷新请求发生两次!
你确定它对同一个网址真的有2个请求吗?我认为第二个可能是一些动态的JS,CSS或图像文件.尝试找出Fiddler或在调试器中查看HttpContext.Current.Request.Uri
| 归档时间: |
|
| 查看次数: |
5826 次 |
| 最近记录: |