gpt4 book ai didi

asp.net - IIS、 session 状态和虚拟目录

转载 作者:行者123 更新时间:2023-12-02 10:19:15 26 4
gpt4 key购买 nike

我使用 ASP.NET 2.0 创建了一个网站,并使用 session 变量来确定用户是否填写了年龄验证表单。一切都按预期工作(我可以读取所有页面上的 session 变量),直到用户转到虚拟目录。当他们这样做时,页面无法读取 session 变量。

经过大量研究,到目前为止我已经完成了以下工作。

  1. 打开 ASP.NET 状态服务

  2. 在我的 web.config 文件中添加了一个 sessionState 节点,将模式更改为 StateServer(用于网站和虚拟目录)。

    < session 状态模式=“状态服务器”无cookie=“假”超时=“20”stateConnectionString="tcpip=127.0.0.1:42424"/>

  3. 生成了一个新的 machineKey 并将其添加到站点和虚拟目录中...

    <机器 key
    validationKey="...128..."
    解密 key =“...64...”验证=“SHA1”解密=“AES”/>

  4. 创建了一个新的应用程序池,并确保网站及其虚拟目录使用相同的应用程序池。

如果我写出 session ID <%= Session.SessionId %>,它在虚拟目录内外的页面上是相同的(整个站点都是相同的)。我只是无法获取该 session 变量!有谁知道我还能尝试什么来让它发挥作用?

谢谢。

最佳答案

不同的虚拟目录=不同的应用程序,并且应用程序之间不共享 session 数据。也许重新设计您的应用程序以避免这种情况?

这是在 ASP.NET 应用程序之间共享 session 数据的可能解决方案。

Passing session data between ASP.NET Applications

关于asp.net - IIS、 session 状态和虚拟目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3815318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com