AppFabricCacheSessionStoreProvider和StateServer可以共存于同一个应用程序中吗

本文关键字:同一个 应用程序 StateServer AppFabricCacheSessionStoreProvider | 更新日期: 2023-09-27 18:15:50

我正在做的一个。net项目中有一些系统使用了StateServer。我们现在使用Appfabric缓存来缓存我们从DB得到的一些东西。这两个可以共存于同一个配置文件吗?

我的配置文件的会话状态部分看起来像这样

<sessionState mode="StateServer" cookieless="true" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" regenerateExpiredSessionId="true" timeout="30" stateNetworkTimeout="30"/>
<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
  <providers>
    <!-- specify the named cache for session data -->
    <add name="AppFabricCacheSessionStoreProvider" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" cacheName="default" />
  </providers>
</sessionState>

显然,这会抛出一个错误,会话状态已经定义,不能重新定义。

在我们用Appfabric Caching系统替换StateServer系统之前(这对我们来说需要一些时间(这是一个非常大的项目)),我们不想干扰现有的系统。所以这个问题。

AppFabricCacheSessionStoreProvider和StateServer可以共存于同一个应用程序中吗

不能,你只能同时有一个唯一的活动会话状态提供者,也不可能在运行时动态更改。

在过去,为了创建会话存储包装器,我也研究了这篇文章。最后,因为复杂度和性能差,我放弃了。
相关文章: