我在Web中的Azure for ASP.NET会话状态中的云服务实例上使用以下配置:
<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>
当我为Cloud Services创建新部署时,该过程已成功执行。但是当我在网站上登录时,会话仅持续1或2个请求。单击另一个页面会将我重定向回登录页面。我的个人资料的身份验证是成功的,但会话几乎立即过期。我正在使用普通的ASP.NET成员资格提供程序进行表单身份验证:
<authentication mode="Forms">
<forms loginUrl="/Login" timeout="120" />
</authentication>
奇怪的是,3或4小时后,问题就解决了。我可以再次登录,它会让我的会话连续两个小时。我已经让这个实例在周末继续运行,但仍然很好。但是一旦我删除部署并创建一个新部署,问题就会重新开始。 是否有人在同一会话状态提供商中识别此问题?
答案 0 :(得分:0)
我通过向web.config添加机器密钥解决了这个问题,这对于所有云服务实例都是一样的。