asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载_asp.net教程-查字典教程网
asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
发布时间:2016-12-29 来源:查字典编辑
摘要:开发环境IIS7下一切正常,但是部署到IIS6服务器以后,每次刷新页面总出现Ajax客户端不能加载的问题.复制代码代码如下:protecte...

开发环境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;

憋屈了两天, 释放了, 标记一下.

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类