`

iframe,Frame中关于Session丢失的解决方法

阅读更多

转载:http://blog.csdn.net/aspgreener/archive/2007/09/05/1772920.aspx

在开发中,我们经常会遇到使用Frame来工作,而且有时是为了跟其他网站集成,应用到多域的情况下,而Iframe是不能保存Session的。因此,网上可以找到很多相关的文章,如果网站可以采用设置Web.Config中的配置:<sessionstate></sessionstate> mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="40"
/>
把cookieless="false"改成"true"就可以了。但也同样有个小问题,就是如果页面中采用Javascript的window.location.href=''这样的方式来重定向的话,系统会认为这是另一个新的请求,产生一个新的SessionId,导致原Session同样的丢失。所以对于重定向,还是使用Response.Redirect()为好。

除了Ifrmae有丢Session问题外,frameset也有同样的问题。Frameset的问题更不确定,是有时会丢,有时不会丢,这更认人头痛,在网上找到了一个方法,在页面page_onload里添加一语句:
Response.AddHeader("P3P","CP=CAO PSA OUR");
FrameSet中的Session丢失问题就解决了。至于里面具体的原因 也没时间去搞懂了。 


最简单的方法就是在iis里设置:图片如下

分享到:
评论

相关推荐

    IFrame中Session丢失的解决办法

    在探讨“IFrame中Session丢失的解决办法”这一主题时,我们首先需要理解Session与IFrame的基本概念及其在Web开发中的交互方式。Session是Web应用中用于存储用户特定信息的一种机制,它允许开发者在用户的会话期间...

    iframe跨域访问时session丢失

    NULL 博文链接:https://thoreau.iteye.com/blog/745100

    iframe 跨域访问session

    `iframe` 跨域访问`session`正是为了解决这一问题。 首先,让我们了解一下`session`和`cookie`的关系。`session`通常用于存储用户登录状态等临时信息,而`cookie`则作为`session` ID的载体在客户端和服务器之间传递...

    PHP关于IE下的iframe跨域导致session丢失问题解决方法

    其他参考文章中提到了一个类似的问题,即在Java环境下,由于jsessionid无法在iframe中正确传递,导致Session丢失。解决办法同样是确保正确设置Cookie策略,使得Session能够在不同的页面间正确传递。 总的来说,针对...

    FRAME与IFRAME的使用方法与区别

    ### FRAME与IFRAME的使用方法与区别 #### 框架的基本概念 在Web开发领域,`FRAME`与`IFRAME`都是用来展示多个文档的容器元素,但它们的工作方式有所不同。`FRAME`是一种早期的技术,它允许开发者在一个HTML页面中...

    【ASP.NET编程知识】iframe跨域与session失效问题的解决办法.docx

    深入分析:出于隐私安全的考虑,IE 会丢失 Iframe 中的 Cookie,IE6/IE7 支持的 P3P(Platform for Privacy Preferences Project specification)协议默认阻止第三方无隐私安全声明的 Cookie,Firefox、Chrome 不...

    iframe跨域与session失效问题的解决办法

    通过这种方式,可以解决在IE浏览器中由于P3P隐私设置导致的iframe跨域cookie丢失问题,进而解决session失效导致的用户频繁重新登录的问题。这个方法在技术上是可行的,但需要网站管理员操作,确保P3P声明符合实际的...

    div被iframe遮住的几种情况及解决方法

    解决这个问题的一个方法是在IFRAME的URL参数中添加wmode=opaque,这样可以改变IFRAME的窗口模式,从而避免其影响到其他元素的Z-index层级。类似地,当IFRAME内嵌Flash对象时,也可能出现z-index失效的问题。这时,...

    iframe跨域通信解决方法

    ### iframe跨域通信解决方法 在现代Web开发中,跨域问题经常出现并困扰着开发者。尤其是在使用`iframe`嵌入不同源的内容时,主页面往往无法直接与`iframe`内的内容进行交互,这就需要一种解决方案来实现跨文档消息...

    iframe框架中实现打开多窗口方法

    然而,在iframe框架中实现打开多窗口的方法,则是一项更为高级且实用的技术。本文将基于给定文件的信息,深入探讨在iframe框架中实现多窗口打开的方法及其背后的原理。 ### 关键知识点一:`target`属性与`name`属性...

    关于Iframe如何跨域访问Cookie和Session的解决方法

    在Web开发中,Iframe(内联框架)常用于嵌入其他网页内容,但涉及到跨域访问时,尤其是在处理Cookie和Session时,会遇到一些挑战。本文主要探讨如何解决Iframe跨域访问Cookie和Session的问题。 首先,理解跨域访问...

    ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)

    标题所提及的“ios 不支持 iframe 的完美解决方法(兼容iOS&安卓)”主要针对的是iOS系统中`iframe`高度计算和弹框定位的问题。在iOS中,当`iframe`内的子页面高度超过父页面时,若子页面触发弹框,弹框可能会出现在...

    iframe 跨域解决方法

    在Web开发中,`iframe` 是一个非常常用的元素,它允许我们在一个页面中嵌入另一个网页。然而,由于浏览器的同源策略限制,当`iframe`加载的页面与包含它的页面不在同一个域名下时,就会遇到跨域问题。这篇博客将深入...

    多个iframe,显示其中一个frame中的div,并处于最上层显示

    在网页设计和开发中,有时候我们需要处理多个`iframe`(内联框架)并实现特定的交互效果,例如只显示其中一个`iframe`中的`div`元素,并确保它在所有其他元素之上,即处于最上层显示。这样的需求通常出现在需要创建...

    iframe与frame的区别

    在选择使用`frame`还是`iframe`时,需要考虑兼容性问题,因为`frame`在一些现代浏览器中可能不被支持,而`iframe`则更为通用。同时,搜索引擎优化(SEO)也是需要考虑的因素,`frame`中的内容可能不容易被搜索引擎...

    解决iframe中fixed失效的问题

    解决 `iframe` 中 `fixed` 失效的方法主要有以下几种: 1. **同源策略的解决**: - 如果可能,将 `iframe` 中的页面转移到与包含页面相同的域下,这样可以消除同源策略的限制。 - 使用 `postMessage` API 进行...

    在iframe框架中打开页面的方法

    不过,由于frameset和frame已经不再被推荐使用,目前的网页开发中推荐使用iframe。 3. target属性:在超链接(a标签)中,target属性用于指定链接应在哪一个框架或窗口中打开。如果target的值与iframe的name属性值...

Global site tag (gtag.js) - Google Analytics