3

我正在处理的 .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 缓存系统替换 StateServer 系统,这对我们来说需要一些时间(这是一个非常大的项目),我们不想打扰现有的系统。因此这个问题。

4

1 回答 1

2

不,您只能同时拥有一个唯一的活动会话状态提供程序,并且也不可能在运行时动态更改。

过去,我还研究了这篇文章以创建会话存储包装器。最后,由于复杂和性能不佳,我放弃了。

于 2013-05-28T11:25:12.520 回答