当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载

asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载

2017年12月12日  | 移动技术网IT编程  | 我要评论

5178.cc,追爱症候群,临城租房

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网