代码之家  ›  专栏  ›  技术社区  ›  queen3

从Outlook中托管的应用程序打开IE窗口时会话丢失

  •  1
  • queen3  · 技术社区  · 15 年前

    ASP.NET应用程序(实际上有Silverlight,但无所谓)作为文件夹主页托管在Outlook中。在这个应用程序中有一个打开弹出窗口的链接,打开一个单独的IE窗口,而不是在Outlook中。

    问题是,在这种情况下,似乎ASP.NET会话丢失。对ASP.NET服务的调用在会话和会话中没有任何内容。\u ID不同。我怀疑outlook有不同于ie的cookie。

    如何在从outlook打开ie弹出窗口时保留会话?也许可以通过url以某种方式传递会话id,或者在web.config中配置它?

    注意,我不想要无烹饪的课程。

    2 回复  |  直到 15 年前
        1
  •  0
  •   Kelsey    15 年前

    我在过去遇到这个问题,一直找不到办法,因为Outlook中的浏览器运行在一个完全不同的过程中,甚至不是一个典型的IE环境。如果我还记得的话,我在通过身份验证方面也有问题。

    当在ie中直接执行相同的行为时,它实际上会使用相同的会话打开另一个窗口。

    要在IE中重新创建在Outlook中发生的进程,只需打开一个IE窗口并转到您的应用程序。然后通过单击快捷方式(不是从当前ie会话生成)并将链接复制并粘贴到地址栏中,打开一个新的ie窗口。这基本上就是outlook正在做的事情。

        2
  •  0
  •   Rudism    15 年前

    我会尝试在outlook的url中传递用户的asp.net会话id cookie的值,然后在ie中打开的页面上检查url上的该值,并在加载页面之前(甚至在为请求加载会话之前)在响应中复制asp.net会话id cookie。

    我不是100%肯定这将工作,如果ASP.NET有一些内置的会话劫持安全到位,这将阻止您手动复制会话cookie不知何故,但这就是我要开始。

    推荐文章