Я использую следующую конфигурацию на экземпляре облачных сервисов в лазури для ASP.NET sessionstate в Web.Config:Azure распределенного кэша sessionstate истекает непосредственно
<sessionState mode="Custom" customProvider="DistributedCacheSessionStateStoreProvider">
<providers>
<add name="DistributedCacheSessionStateStoreProvider" type="Microsoft.Web.DistributedCache.DistributedCacheSessionStateStoreProvider, Microsoft.Web.DistributedCache" cacheName="default" useBlobMode="true" dataCacheClientName="default" />
</providers>
</sessionState>
И конфигурации datacacheclient в:
<dataCacheClients>
<dataCacheClient name="default" isCompressionEnabled="false">
<autoDiscover isEnabled="true" identifier="InternetWebRole" />
<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>
</dataCacheClients>
Когда я создаю новое развертывание для облачных служб, процесс был успешно выполнен. Но когда я заходил на сайт, сеанс длится только 1 или 2 запроса. Щелчок на другой странице перенаправляет меня обратно на страницу входа. Аутентификация моего профиля выполняется успешно, но сеанс истек почти сразу. Я использую формы-аутентификацию с помощью обычного поставщика членства ASP.NET:
<authentication mode="Forms">
<forms loginUrl="/Login" timeout="120" />
</authentication>
Странно то, что 3 или 4 часа, проблема разрешилась сама собой. Я могу войти снова, и он держит мою сессию в течение двух часов подряд. Я удержал экземпляр, работающий сейчас на выходные, и все еще все работает нормально. Но как только я удалю развертывание и создаю новый, проблема начнется снова и снова. Есть ли кто-нибудь, кто узнает эту проблему с тем же провайдером sessionstate?