当前位置: 老葡京网站娱乐 > 操作系统 > xp/2003 > 正文

win2003 asp.net Session和带页面回传的方法无法正常使用的问题

时间:2015-10-21

老葡京网站娱乐 www.sdguanhua.com 公司BP&IT项目组.从上上个月成立开始开发BP&IT软件.这个月开始测试我悲剧的发现他尽然不支持我电脑上的IE11.半个多月还没解决

我们先来分析下原因首页 登陆页面正常浏览 http://hr.bingjun.cc/

登陆后网址呈现 http://hr.bingjun.cc/(F(0-MEj-fnv8v-hWRGI2rOhfQ_0SZjQAnMEBs5P1DKcEhwdX-TTu8TAZ_H6HVGorBM-TaTm4zK_DCSdO8gvqOXWCoou4YJIVziHJ1PC9hke7w1))/Default.aspx

点击任何网页任意一个链接

键 值

Referer http://hr.bingjun.cc/MyTask/MyTaskPage.aspx

就302 http://hr.bingjun.cc/

对网址http://hr.bingjun.cc/(F(0-MEj-fnv8v-hWRGI2rOhfQ_0SZjQAnMEBs5P1DKcEhwdX-TTu8TAZ_H6HVGorBM-TaTm4zK_DCSdO8gvqOXWCoou4YJIVziHJ1PC9hke7w1))/Default.aspx

分析我们可以发现可以轻易发现.这是一个使用无Cookie模式的网址链接.并且F打头可以判断我们的BP&IT项目组使用了Forms表单验证

而跳转页面却是一个http://hr.bingjun.cc/MyTask/MyTaskPage.aspx不带无Cookie URL的页面这样就导致了Cookie丢失就更别论依靠Cookie工作的 Session 和 登陆状态了

为什么页面跳转后却没有带上CookieURL了 我想是因为他们的代码没有使用 服务器路径“~/” 所导致 因为只有使用服务器路径ASP.NET才会帮我们自动的吧CookieUrl段给带上

发现后立即询问BP&IT项目组为什么我的IE11无法使用内部网站(回答我是微软的BUG)

尽然是这样那根据我所掌握的知识能导致此问题的BUG 应该是ASP.NET把 IE11识别为无Cookie 浏览器了

那这样的话解决办法就很多 首先从服务器级别讲起

我们知道ASP.NET识别浏览器是不是无Cookie的是通过本身的一个库来识别的那我们也可以往这个库里加点东西

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers

打开此目录可以发现下面后很多文件没错这就是ASP.NET用来识别浏览器的库了打开ie.browser

添加一个 browser 配置节点

<browser id="IE11" parentID="Mozilla">
        <identification>
          <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
          <userAgent nonMatch="IEMobile" />
        </identification>
        <capture>
        <userAgent match="Trident/(?'layoutVersion'\d+)" />
       </capture>
       <capabilities>
         <capability name="browser"              value="IE" />
         <capability name="layoutEngine"         value="Trident" />
         <capability name="layoutEngineVersion"  value="${layoutVersion}" />
         <capability name="extra"                value="${extra}" />
         <capability name="isColor"              value="true" />
         <capability name="letters"              value="${letters}" />
         <capability name="majorversion"         value="${major}" />
         <capability name="minorversion"         value="${minor}" />
         <capability name="screenBitDepth"       value="8" />
         <capability name="type"                 value="IE${major}" />
         <capability name="version"              value="${version}" />
       </capabilities>
     </browser>

这样该服务器上v4.0.30319版本下的所有站点此问题都算是解决了

本栏目更多精彩内容:http://www.sdguanhua.com/OS/xp/