0

我有一个使用 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>

我的会话变量在客户之间混淆了,这发生在我添加了这个会话状态管理之后。这是正在发生的事情:

  1. 客户转到页面 A。电子邮件是 joe@123.com。一个名为 email 的变量被保存在会话状态中。
  2. 用户导航到第 2 页。变量更改为 jack@456.com。在任何时候都不是由其他代码分配的变量。它保持不变。看来我的会话状态管理正在混淆我的变量。

这可能是由不正确的设置或代码引起的吗?我只使用一个带有一个内核的小型 VM。我应该使用另一个会话状态管理吗?

4

0 回答 0