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

时间:2013-05-28 04:50:46

标签: c# web-config appfabric session-state-server

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

我的Config文件的会话状态部分如下所示

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

1 个答案:

答案 0 :(得分:2)

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

过去,我还调查了这个article以创建会话存储包装器。最后,由于复杂性和糟糕的表现,我放弃了。