我有一个使用 Windows Azure 缓存服务的基于云的应用程序。这是我的设置:
<!-- Windows Azure Caching session state provider -->
<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
<providers>
<add name="AFCacheSessionStateProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" dataCacheClientName="default" applicationName="AFCacheSessionState"/>
</providers>
</sessionState>
<dataCacheClients>
<dataCacheClient name="default">
<!--To use the in-role flavor of Windows Azure Caching, set identifier to be the cache cluster role name -->
<!--To use the Windows Azure Caching Service, set identifier to be the endpoint of the cache cluster -->
<autoDiscover isEnabled="true" identifier="xyz.cache.windows.net" />
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />-->
<!--Use this section to specify security settings for connecting to your cache. This section is not required if your cache is hosted on a role that is a part of your cloud service. -->
<securityProperties mode="Message" sslEnabled="true">
<messageSecurity authorizationInfo="xxx" />
</securityProperties>
</dataCacheClient>
我的会话变量在客户之间混淆了,这发生在我添加了这个会话状态管理之后。这是正在发生的事情:
- 客户转到页面 A。电子邮件是 joe@123.com。一个名为 email 的变量被保存在会话状态中。
- 用户导航到第 2 页。变量更改为 jack@456.com。在任何时候都不是由其他代码分配的变量。它保持不变。看来我的会话状态管理正在混淆我的变量。
这可能是由不正确的设置或代码引起的吗?我只使用一个带有一个内核的小型 VM。我应该使用另一个会话状态管理吗?