0

我在以下页面中阅读了持续的 WindowsAzure 回收存储会话

为什么我的实例在尝试将会话存储在同一位置的 Azure 缓存中时会回收?

这是我的 webconfig 设置:

<sessionState mode="InProc" timeout="2880" />

我正在阅读,也许我必须更改模式以保持会话活跃,因为当我使用该程序时,突然发生这种情况。让我们在一小时后去看看。

我能做些什么来避免这种糟糕的用户体验?

4

1 回答 1

1

如果您正在运行多个实例,那么您会丢失会话数据,因为负载均衡器会在实例之间反弹用户。“InProc”设置将会话数据存储在每个单独的实例上,而不是跨实例存储 - 阅读更多

如果你想使用 co-located 缓存,那么你的配置应该类似于:

<!-- Windows Azure Caching session state provider -->
<sessionState mode="Custom" customProvider="AFCacheSessionStateProvider">
  <providers>
    <add name="AFCacheSessionStateProvider" 
      type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache"
      cacheName="shared" 
      dataCacheClientName="shared" 
      applicationName="AFCacheSessionState"/>
  </providers>
</sessionState>

阅读更多

更新:最后,检查您是否在 ServiceConfiguration.cscfg 文件中使用了 REAL BLOB 连接字符串。如果连接字符串显示“ UseDevelopmentStorage=true ”,则部署的角色将永远无法创建/连接到缓存 - 但是它将在模拟器中本地工作。:

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
于 2013-04-11T03:21:47.270 回答