asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
2010-03-04 19:15
495 查看
开发环境IIS7下一切正常,但是部署到IIS6服务器以后, 每次刷新页面总出现Ajax客户端不能加载的问题.
复制代码 代码如下:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
string oldToken = Session["token"].ToString();
}
MSDN上说: Application_AcquireRequestState, 当ASP.NET获取当前请求所关联的当前状态(如Session)时执行.
但是, 实际情况是, 我们使用AJAX控件时, 一个页面会多次触发这个事件, 并且Session会出现为NULL的情况.
原因是一些脚本和图片是通过webresource.axd handler解析的, 但一个页面使用多个脚本和图片时, 页面就会多次请求,
也就多次触发这个事件了.
所以, 在事件中访问Session, 需要先判断Session是否为NULL.
或者, 我们先判断请求的类型.
复制代码 代码如下:
if (Request.Url.AbsoluteUri.Contains(".axd") || Request.Url.AbsoluteUri.Contains(".asmx"))
return;
憋屈了两天, 释放了, 标记一下.
复制代码 代码如下:
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
string oldToken = Session["token"].ToString();
}
MSDN上说: Application_AcquireRequestState, 当ASP.NET获取当前请求所关联的当前状态(如Session)时执行.
但是, 实际情况是, 我们使用AJAX控件时, 一个页面会多次触发这个事件, 并且Session会出现为NULL的情况.
原因是一些脚本和图片是通过webresource.axd handler解析的, 但一个页面使用多个脚本和图片时, 页面就会多次请求,
也就多次触发这个事件了.
所以, 在事件中访问Session, 需要先判断Session是否为NULL.
或者, 我们先判断请求的类型.
复制代码 代码如下:
if (Request.Url.AbsoluteUri.Contains(".axd") || Request.Url.AbsoluteUri.Contains(".asmx"))
return;
憋屈了两天, 释放了, 标记一下.
您可能感兴趣的文章:
相关文章推荐
- asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
- Application_AcquireRequestState事件,导致Ajax客户端不能加载
- asp.net 在AcquireRequestState事件中判断登陆验证。
- ASP.NET MVC中通过Request.IsAjaxRequest()来判断是否要加载公共视图
- ASP.NET:为 AJAX 请求添加客户端事件
- ASP.NET Ajax client-side framework failed to load OR ‘Sys’ is undefined(ASP.NET Ajax 客户端框架未能加载)
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- ASP.NET Ajax 客户端框架未能加载,Sys未定义,蛋碎了有木有
- <转>Asp.net Ajax 客户端页面生命周期原生事件
- asp.net ajax 客户端框架未能加载 sys 未定义
- ASP.NET:为 AJAX 请求添加客户端事件
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- requestValidationMode 导致 ValidateRequest=False 失效或者ASP.NET 4.0事件消息: 发生了验证错误;检测到有潜在危险的Request.Form值
- ASP.NET AJAX 中在客户端用 WebRequest 调用 Web Service
- 彻底解决IE6下Asp.net Ajax客户端框架未能加载
- ASP.NET AJAX Client Life-Cycle Events 客户端事件周期
- 系统地学习ASP.NET AJAX(8) - 客户端脚本编程(Sys.Net命名空间下的WebRequestManager、WebRequest、WebRequestExecutor和XMLHttpExecutor)
- asp.net updatepanel 导致JS不能加载,而无法使用
- [翻译]ASP.NET AJAX 客户端生命周期事件
- 解决IE6下Asp.net Ajax客户端框架未能加载的问题