在相同服务器和域 IIS 下的应用程序中使用相同的会话

问题描述

一个域下有两个应用程序。

example.com
example.com/module1
example.com/module2

如果没有 module1 和 module2 会话,请访问 example.com。用户必须登录example.com。用户可以在登录后在模块 1 和模块 2 中使用该会话。

我该怎么做?我可以为此使用会话状态吗?

<sessionState mode="InProc" timeout="1" cookieless="false" />

解决方法

要在多个应用程序之间共享会话状态,您需要在 web.config(sessionState element) 中为两个应用程序指定相同的 sharedId。

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
  <providers>
    <!-- specify the named cache for session data -->
    <add name="AppFabricCacheSessionStoreProvider" 
         type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" 
         cacheName="NamedCache1"
         sharedId="SharedApp"/>
  </providers>
</sessionState>

更多信息您可以参考此链接:Configuring an ASP.NET Session State Provider

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...