【问题标题】:cross domain session keep alive in asp.net跨域会话在 asp.net 中保持活动状态
【发布时间】:2012-08-10 21:35:05
【问题描述】:

我有两个应用程序在不同的域上运行:

  1. webformapp.com
  2. mvcapp.com

webformapp.com 有一个指向 mvcapp.com 的 iframe。现在,当 mvcapp.com 上有活动时,我想在 webformapp.com 中保持会话活动。我在 webformapp.com 中实现了一个通用处理程序(KeepAlive.ashx),并尝试从 mvcapp.com 调用以在 webformapp.com 上保持会话活动,但我猜是因为跨域访问限制,直接调用 webformapp.com/KeepAlive。来自 mvcapp.com 的 ashx 通过一个简单的 http get/post 请求没有命中处理程序。我猜here 给出的解决方案是针对同一个域的。在这种情况下实现保活机制的任何更简单的解决方案?

【问题讨论】:

  • 如果应用程序位于不同的域中,并且其中一个在另一个应用程序的 iframe 中被引用;我不明白为什么两者中的任何一个的 Session 都可能变得无效。只要在 web.config 中配置了会话超时设置,这两个会话就应该继续有效。你如何测试这个?
  • 两个网站相互独立。除非另有说明,否则 iframed 网站默认不会刷新父网站的会话。据我所知,iframe 只是另一个网站的窗口。
  • 你的知识是正确的。我想我不明白这个问题,然后......

标签: asp.net session cross-domain keep-alive


【解决方案1】:

如果我理解您的问题,则用户正在 Webform 应用程序提供的 iframe 内的 mvc 应用程序上积极地做事。只要浏览器窗口处于打开状态,您是否能够从 iframe 外部的浏览器向 webform 应用程序发送 javascript 超时?

我过去做过类似的事情,我在他们的会话中维护了一个计数器,并且在 x 刷新后,处理程序会响应一个失败代码,浏览器可以响应一个重定向提示或你有什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 2022-01-23
    • 2012-06-05
    • 2012-04-10
    • 2012-02-06
    相关资源
    最近更新 更多