我有一个我在本地开发并部署到Azure的Web项目。我正在尝试实现ASP.NET Universal Providers,以便我可以在SQL数据库中存储会话信息。
我已经从NuGet为我的项目安装了ASP.NET Universal Providers,并将以下内容添加到我的web.config文件中:
<sessionState mode="Custom" customProvider="DefaultSessionProvider" timeout="1440">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="SQLConnection" />
</providers>
</sessionState>
当我运行我的项目时,我注意到它在我的数据库中自动创建了一个名为“dbo.Sessions”的新表。它在我的开发机器和SQL Azure数据库上本地创建它。
所以,一切看起来都很棒,但是在dbo.Sessions表中没有创建任何记录,我的会话仍在默认的20分钟内超时。
我还需要做些什么才能让它发挥作用吗?
我也会提到这一点,虽然我不确定它是否相关 - 我使用SimpleMembership提供商作为我的会员和角色,而不是通用提供商。