源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-08-19 00:49 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net Application_AcquireRequestState事件,导致Ajax客户端不能加载
开发环境IIS7下一切正常,但是部署到IIS6服务器以后, 每次刷新页面总出现Ajax客户端不能加载的问题.
[u]复制代码[/u] 代码如下:
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. 或者, 我们先判断请求的类型.
[u]复制代码[/u] 代码如下:
if (Request.Url.AbsoluteUri.Contains(".axd") || Request.Url.AbsoluteUri.Contains(".asmx")) return;
憋屈了两天, 释放了, 标记一下.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部