【问题标题】:Trying to access parent ASP.Net 3.5 Session from child web app in Asp.Net 4.5尝试从 Asp.Net 4.5 中的子 Web 应用程序访问父 ASP.Net 3.5 会话
【发布时间】:2015-03-24 17:21:17
【问题描述】:

在 Windows Server 2012 IIS 8 上 - 在制定 web.config 设置以使 ASP.Net 4.5 子 Web 应用程序在父 ASP.Net 3.5 应用程序中运行后,它们现在具有相同的会话 ID 并获取 cookie好的,但是孩子的 Session 没有键。

似乎会话未在两个应用程序池之间共享。

关于如何解决这个问题的任何想法?顺便说一句 - 修改父网络应用程序相当困难......所以尝试只更改子应用程序

澄清 - 子网络应用 - 只是父网络结构中的一个子文件夹:

  • 使用 .Net 4.5 的应用程序池设置单独的 IIS 应用程序
  • 单独的 Web.config

【问题讨论】:

    标签: session iis asp.net-3.5 asp.net-4.5


    【解决方案1】:

    OK 进一步挖掘后发现这是不可能的,因为 SessionState 在版本之间不兼容,请参阅: Migrating web farm to runtime version 4 of asp.net while maintaining session

    但我们发现了一个有趣的解决方法,因为 .Net 3.5 版本使用基于表单的身份验证,我们可以让“子”.Net 4.5 使用 Web 配置设置应用相同的方法:

    并从以下位置获取经过身份验证的用户名:

    HttpContext.Current.User.Identity.Name

    【讨论】:

      猜你喜欢
      • 2013-05-31
      • 2011-08-20
      • 2010-11-24
      • 2012-03-24
      • 2020-02-25
      • 1970-01-01
      • 2011-09-23
      • 1970-01-01
      • 2013-06-03
      相关资源
      最近更新 更多