asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
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;
憋屈了两天, 释放了, 标记一下.
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
网友评论