1

article shanselman我試圖使用「System.Web.Providers」,因此您可以使用Sql Server Compact中的成員身份,規則和配置文件。使用System.Web.Providers與Sql Compact

我通過Nuget安裝,創建了Users.sdf數據庫並複製到App_Data文件夾。 我的web.config中如下:

<profile defaultProvider="DefaultProfileProvider"> 
    <providers> 
    <clear /> 
    <add 
     name="DefaultProfileProvider" 
     type="System.Web.Providers.DefaultProfileProvider" 
     connectionStringName="DefaultConnection" 
     applicationName="/" /> 
    </providers> 
</profile> 
<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
    <clear /> 
    <add connectionStringName="DefaultConnection" enablePasswordRetrieval="false" 
     enablePasswordReset="true" requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
     applicationName="/" name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider" /> 
    </providers> 
</membership> 
<roleManager defaultProvider="DefaultRoleProvider"> 
    <providers> 
    <clear /> 
    <add connectionStringName="DefaultConnection" applicationName="/" 
     name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider" /> 
    </providers> 
</roleManager> 
<sessionState mode="Custom" customProvider="DefaultSessionProvider"> 
    <providers> 
    <add 
     name="DefaultSessionProvider" 
     type="System.Web.Providers.DefaultSessionStateProvider" 
     connectionStringName="DefaultConnection" 
     applicationName="/" /> 
    </providers> 
</sessionState> 

<connectionStrings> 
    <add name="Sql_CE" connectionString="Data Source=|DataDirectory|\Users.sdf;" 
     providerName="System.Data.SqlServerCe.4.0"/> 
</connectionStrings> 

,因爲它產生的表基於

試圖訪問「網站管理時出現以下錯誤在SQL Server我不能用「aspnet_regsql」工具「頁面安全

您所選的 數據存儲區存在問題。這可能是由於 服務器名稱或憑證無效,或 由於權限不足造成的。它也可以由角色管理器 功能沒有啓用引起的 。點擊下面的 按鈕將被重定向到 頁面,您可以在其中選擇一個新數據 商店。

下面的消息可能有助於 診斷問題:上鍵入 預申請啓動初始化 方法開始 WebMatrix.WebData.PreApplicationStartCode 拋出異常有以下 錯誤消息:此方法不能是 叫在應用程序的 預啓動初始化階段。

+0

重複http://stackoverflow.com/questions/4626647/asp-net-this-method-cannot-be-called-during-the-applications-pre-start-initiali – Eranga

回答

2

首先重命名你的連接字符串DefaultConnection並刪除\在Users.sdf面前,像這樣:

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=|DataDirectory|Users.sdf;" 
     providerName="System.Data.SqlServerCe.4.0"/> 
</connectionStrings> 

你說你

創建Users.sdf數據庫

怎麼樣? Providers框架和SqlCe應該爲你做這件事。嘗試從App_Data文件夾中刪除Users.sdf,然後再次嘗試訪問「網站管理工具」。提供程序引擎應該爲您重新創建它。

+0

更正了錯誤,但現在是另一個錯誤。 這種方法不能被稱爲在應用程序的預啓動初始化 搜索網,我發現這篇文章, http://stackoverflow.com/questions/4626647/asp-net-this-method-cannot-be - 在應用程序中調用pre-start-initiali 並且做了Gregoire說的並且它工作了! 但我懷疑爲什麼當我創建一個新的項目時,這個錯誤不會發生,我不需要添加這些鍵。在我現有的項目中,我必須添加這些鍵才能工作。 – ridermansb

相關問題