我正在研究的.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系统,这对我们来说需要一些时间(这是一个非常大的项目),我们不想打扰现有的系统。因此这个问题。
答案 0 :(得分:2)
不,您只能同时拥有一个唯一的活动会话状态提供程序,并且也无法在运行时动态更改。
过去,我还调查了这个article以创建会话存储包装器。最后,由于复杂性和糟糕的表现,我放弃了。