C# AppFabricCacheSessionStoreProvider和StateServer能否在同一个应用程序中共存?

C# AppFabricCacheSessionStoreProvider和StateServer能否在同一个应用程序中共存?,c#,web-config,appfabric,session-state-server,C#,Web Config,Appfabric,Session State Server,我正在处理的.NET项目中有一些使用StateServer的系统。我们现在使用Appfabric缓存来缓存从DB中获取的一些内容。这两个可以共存于同一个配置文件中吗 配置文件的会话状态部分如下所示 <sessionState mode="StateServer" cookieless="true" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_

我正在处理的.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系统之前(这是一个非常大的项目),我们不想干扰现有系统。因此出现了这个问题。

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


在过去,为了创建会话存储包装器,我还对此进行了研究。最后,我放弃了,因为复杂性和性能差。

不清楚如果只是为了缓存而使用AppFabric CacheSessionStoreProvider,为什么必须使用
AppFabric CacheSessionStoreProvider
。还不清楚您对2个会话状态提供程序的预期结果。。。对于切换,您关心的是什么?除非您对会话状态管理进行了大量定制,否则用另一个会话状态替换一个进程外会话状态几乎不会对应用程序产生任何影响。关于使用AppFabricCacheSessionStoreProvider,这只是大型系统重建的开始。到目前为止,我们一直在使用HttpContext.Runtime.Caching,我们正在转向分布式缓存系统。我们提供了很多ppl服务,所以这看起来更好。是的,我们定制了会话状态管理。我不是spsd来透露我们的定制解决方案的,所以我使用StateServer模式作为示例:)对不起,这是一个简单的问题。我所要求的可能吗?两个提供者可以存在吗?我无法想象两个会话提供者如何共存(因为单个会话数据块需要从一个位置存储和加载-2将如何决定存储特定用户数据的一个)。关于缓存-我不认为AppFabricCacheSessionStoreProvider是使用AppFabric的分布式缓存部分的必要条件。谢谢。我只想知道。