我有一个在本地开发并部署到 Azure 的 Web 项目。我正在尝试实现 ASP.NET 通用提供程序,以便可以将会话信息存储在我的 SQL 数据库中。
我已从 NuGet 将 ASP.NET 通用提供程序安装到我的项目中,并将以下内容添加到我的 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 提供者作为我的成员资格和角色,而不是通用提供者。