【问题标题】:Session values are getting null while redirect from one web application from another从一个 Web 应用程序从另一个 Web 应用程序重定向时,会话值变为空
【发布时间】:2016-05-11 05:01:42
【问题描述】:

我有两个名为 App1 和 App2 的 asp.net Web 应用程序,它们托管在同一个 IIS 中。 App1 和 App2 连接不同的 SQL Server 数据库。现在我想要登录到 App1,我将通过在查询字符串中传递用户名和密码重定向到 App2,这意味着我将绕过 App2 的登录过程,我想进入 App2 的主页。当我重定向到 App2 时,所有 Session[] 值都设置为 null。这样我就无法获取 App2 中的任何 Session 值以用于进一步的目的。

【问题讨论】:

    标签: javascript asp.net .net iis-7 session-cookies


    【解决方案1】:

    会话是特定于应用程序的。因此,您不能使用它在应用程序之间共享数据。如果您仍想共享数据,请序列化您的会话数据并使用 POST 将其传递给其他应用程序。为此,您必须创建中间页面,并且应该调用它而不是直接调用目标页面。此页面将包含以下标记

    <body onload="document.myForm.submit()">
        <form id="myForm" runat="Server" action="targetApplicationPage" method="POST">
           <asp:Literal id="lit" runat="server"/>
        </form>
    </body>
    

    并将文字值设置为页面加载后代码中的序列化会话值。

    【讨论】:

    • 实际上我不想使用相同的或共享从 App1 到 App2 的会话值。我正在覆盖 App2 中 App1 上已存储的所有会话值。但不知何故,App2中的值变得空了。即使我不想在重定向到App2后让App1的会话保持活动状态,但我想创建一个新的会话值并且这些值不应该为空意味着不应该清除全部。
    • 如果你想覆盖,那么你不应该关心其他值。
    猜你喜欢
    • 2019-03-29
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-03-19
    • 2012-02-03
    相关资源
    最近更新 更多