日期:2014-05-19  浏览次数:20472 次

|M| 第二贴:300分:求我疯了我疯了,网页放在框架里面就Session丢失 超急啊
http://www.1ts.com.cn/plane/search.aspx?UID=630&flag=1&Key=48e041a2c279ead2
这样Session就不会丢失,
但是放在框架里面就丢失了
<iframe   src= 'http://www.1ts.com.cn/plane/search.aspx?UID=630&flag=1&Key=48e041a2c279ead2 '   width= '800 '   height= '1000 '   scrolling= 'no '
marginwidth= '0 '   marginheight= '0 '   frameborder= "0 "   bordercolor= '#000000 '> </iframe>

首先说明一下
http://www.1ts.com.cn/plane/search.aspx?UID=630&flag=1&Key=48e041a2c279ead2
这里是另一个网站和我框架外的不是同一个网站
而我这里丢失Session也不是框架外的网站的Session
而是框架内的网站
开始的search.aspx这个页面生成了一个Session[ "XXX "]
但点击查询的时候进第二个页面的时候出错
也就是第二个页面的时候Session丢失

但不是框架的时候不会出现这个问题

------解决方案--------------------
传过去的时候在那边创建啊,你那边不存在当然没有了
------解决方案--------------------
不会是因为使用框架导致session丢失。
另外,你的session多久丢失?如果这边赋值那边就丢,那就看看前后访问的是不是同一个session变量;如果是一段时间后丢失,将你的sessionState改为StateServer模式,不要用InProc。

------解决方案--------------------
你的session多久丢失?如果这边赋值那边就丢,那就看看前后访问的是不是同一个session变量;如果是一段时间后丢失,将你的sessionState改为StateServer模式,不要用InProc。

------解决方案--------------------
域名都是一个吗?

<iframe src= '/plane/search.aspx?UID=630&flag=1&Key=48e041a2c279ead2 ' ...> </iframe>

就是去掉 http://这一部分试一试。
------解决方案--------------------
无能为力,帮顶
------解决方案--------------------
域名都不同,Session怎么可能保留呢?

通过URL的方式来处理吧。

或者使用表单提交的方式。
------解决方案--------------------
假设你的网站的a.aspx页面里有一个 Session 。而且恰巧我知道这个Session的名称。

那么我在我的页面里加一个iframe,我就能访问你的网站的Session了吗?

如果能的话也太不安全了呀。
------解决方案--------------------
这是最郁闷的事情,我顶。
------解决方案--------------------
我很同情你,帮你顶
------解决方案--------------------
不知道为什么,既然你后来建了一个工程测试没有问题
你只能看看代码 仔细检查下