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

标签 asp.net iis session-state

我使用 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/

相关文章:

c# - 使用 net.msmq 绑定(bind)在 IIS 中托管的 WCF 服务会产生问题

Azure session 状态无法连接到redis服务器

http - 在服务器上使用无状态的 Spring Web Flow

asp.net - ObjectCache 的 "Set"和 "Add"有什么区别?

c# - 有没有办法在 .NET Core 中使用 Entity Framework?

asp.net-mvc - vNext 重定向到登录返回 404

iis - 检查配置部分是否被锁定 IIS 7

c# - 将值添加到存储在 session 中的列表,然后用作转发器的数据源

c# - ASP.NET无效的脚本资源请求而不是重定向

asp.net - 在 ASP.net 图像映射中创建动态热点