我在以下页面中阅读了持续的 WindowsAzure 回收存储会话
为什么我的实例在尝试将会话存储在同一位置的 Azure 缓存中时会回收?
这是我的 webconfig 设置:
<sessionState mode="InProc" timeout="2880" />
我正在阅读,也许我必须更改模式以保持会话活跃,因为当我使用该程序时,突然发生这种情况。让我们在一小时后去看看。
我能做些什么来避免这种糟糕的用户体验?
我在以下页面中阅读了持续的 WindowsAzure 回收存储会话
为什么我的实例在尝试将会话存储在同一位置的 Azure 缓存中时会回收?
这是我的 webconfig 设置:
<sessionState mode="InProc" timeout="2880" />
我正在阅读,也许我必须更改模式以保持会话活跃,因为当我使用该程序时,突然发生这种情况。让我们在一小时后去看看。
我能做些什么来避免这种糟糕的用户体验?
如果您正在运行多个实例,那么您会丢失会话数据,因为负载均衡器会在实例之间反弹用户。“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" />