我正在開發ASP.NET MVC 4網站,並使用Microsoft ASP.NET Universal Providers。我打算部署到Windows Azure並使用SQL數據庫。爲了初始化本地SQL Server 2008數據庫上的成員資格,配置文件和角色,我通過ASP.NET Web站點管理工具創建了一個新用戶。我如何初始化會話?ASP.NET通用提供程序和會話狀態
當我的應用程序運行時,自然我得到一個SqlException,說「無效的對象名稱dbo.Sessions。」在Windows Azure上進行測試時,這不是問題; dbo.Sessions是自動創建的。從Azure上的dbo.Sessions生成一個創建表腳本並將其應用到本地SQL數據庫後,我可以在本地運行。
的web.config:
<membership hashAlgorithmType="SHA1" defaultProvider="DefaultMembershipProvider">
<providers>
<clear />
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" passwordFormat="Hashed" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile enabled="false" defaultProvider="DefaultProfileProvider">
<providers>
<clear />
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false" defaultProvider="DefaultRoleProvider">
<providers>
<clear />
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</roleManager>
<sessionState mode="Custom" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers" connectionStringName="DefaultConnection" applicationName="/" />
</providers>
</sessionState>
有一件事讓我幾乎瘋狂。我正在使用Studio 2012和IIS Express進行配置,並在配置中做了錯誤的處理。我稍後修復了它,但例外情況並未消失。一時興起,我關閉了正在運行的IIS Express實例 - 然後運行。我假設它在某處存儲了一個標誌,並說表格應該已經存在。 – Rolf