问题描述
一个域下有两个应用程序。
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。