以下发生的内容,本人没有遇到过,但既然有相应的例子,我想,或许还是会有人遇到同样的问题吧?
记录一下,如果有类似的问题,也许就是解决方法。解决方法不在原文中,是在回复中的。我也会一并贴上来
原文如下:
http://www.cnblogs.com/kyneblog/archive/2009/06/11/1500999.html
- 今天算是长见识了,项目发布到服务器上面了,但是客户在使用的时候发现,只要进入新增页面和修改页面。再进行操作就会自动跳转到登陆页面(我设置了 session保存用户登陆信息),而别的页面就不会出现这个问题。从下午开始找个问题,开始以为不知道只有这两个页面有问题,以为全部都是这样的问题,是IIS的设置问题。我将session的超时时间设置了3个小时,发现还是会跳转到登陆页面。也在web.config文件里面设置了超时时间。但是效果还是一样的。自己测试了一下午,发现只有新增页面和修改页面会出现这样的问题(本机测试没问题/测试服务器上测试也没问题)。经过几次实验,发现确实只有这两个页面会有问题,那就可以断定:不是IIS设置问题,也不是web.config的问题。本地调试也不出现这样的情况,没办法,只能等客户下班之后,没人用了才到正式服务器上去慢慢的调试,最后想个笨办法,将其中一个页面的.cs文件里面的代码一句一句的删掉,可没想到我都将cs文件里面的代码全部删除了,还是会出现这样的情况,我当时就纳闷了。不是事件的问题,难道是HTML页面出了问题???
- 既然耐着性子删了cs文件的代码。我就继续删!将aspx页面里面的HTML代码和JS代码也一个一个的删掉,一个一个控件删掉测试,从下午上班一直测试到晚上11点,眼睛都看花了,终于,在我将aspx页面的其中几个控件删除之后发现问题了!页面不跳转了!这下来劲了,肯定是这几个控件的原因,于是乎,我就一个一个控件还原回去,不跳转!继续还原!!当我还原到<img src="" >这个控件的时候测试,发现问题了!只要我一加上<img src="">这个标签!页面就跳转到登陆页面了。问题肯定出在这了!但是我又想不通了,为什么就这个HTML标签一加上就会出问题,这应该不关 session什么事啊,怎么会加上这个标签页面就直接跳转了呢?
- 在网上找了下资料,没找到相关的资料,后来试着将img 标签的src=""加上图片,src="imges/001.jpg" 再测试,发现页面不跳转了!!原来问题出现在这里!
- "" 为空的情况下,可能导致session丢失!跟经理说了下这个情况,他也很惊奇还没见过一个HTML标签会导致session丢失的情况,因为在本地和测试服务器上测试的时候都没这样的情况,后来猜测了下,可能是IIS的问题,可能是IIS解析的时候解析到src=""这个地方解析不了,导致程序出问题。但这只是个人猜测,正式服务器上我也没权力当时去打补丁,一个大公司的正式服务器,我要打补丁去了,那他们别的网站和系统不全当机了?所以就只要想了个办法,将src=""里面加上图片,幸好这个img标签是隐藏起来的,加了也不影响界面。呵呵。。。
- 最让人郁闷的是我测试的时候是用Symantec pcAnywhere这个软件远程连接到的正式服务器上。反应慢得可以,简直比电脑没装显卡驱动还慢...唉,不过累也累了,以后碰到这样的情况就有经验了。
- 我不知道网上有没有人碰到过跟我一样的情况;如果碰到了,希望能给你带来点灵感。哇哈哈。。。
原文并没有解决这个问题,或者说并没有了解到问题出在哪里,虽然是用了一种很恶心的方法解决了它,但并没有发现问题的本质,而本质则由回复发现了,请看第51楼:
XML/HTML代码
- 我给楼主分析下
- 先说几点结论:
- 1、并不是所有浏览器都会出现这种情况(IE上会出现)。
- 2、要满足特定的条件才会出现这种情况(比如index/default跳转到login.aspx)。
- 再说根源:
- 根源:在于在IE下当image 标签的src为空时或图片不存在,会请求图片所在目录或根目录。而刚好index/default又跳转到login,而请求login时会清空session.
- (上述index/default login 为假想,仅供说明用,据实际情况改变也改变)
75楼说:
XML/HTML代码
- 帮你测试过,当<img src="" />时,加载或回调该页面的时候会直接调用该页面所属的目录下的Default.aspx页面
- 当目录下没有Default.aspx页面的时候可能会直接导致Session的丢失
78楼认为:
XML/HTML代码
- 我曾经遇到因为<img src="">的情况下,服务器会加载两次页面,后来在网上查到信息关于img 标签中的src为空时,服务器会重新加载页面,这个img标签有时很古怪
87楼也有同样问题:
XML/HTML代码
- 昨天也在為phpbb後臺增加功能時也遇到了類似的問題
- 當src或href屬性為空時,IE和其他瀏覽器表現不一致
- http://soido.org/blog/649
这里还有一篇针对本文内容的测试:
http://www.cnblogs.com/yjmyzz/archive/2009/06/11/1501654.html
可以看看哦