默認情況下,ASP.NET成員資格提供使用內置的connectionString命名LocalSqlServer
這是這樣的:
<add name="LocalSqlServer"
connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
,當你使用Membership
首次(或者當您使用Web配置管理器工具時),aspnetdb.mdf
將自動創建。對於第一個步驟中,您可以通過clear
命令從web.config
刪除此connectionString
:
<connectionStrings>
<clear/>
<!-- your other connectionStrings -->
</connectionStrings>
而且,你必須改變connectionString
爲membershipProvider
(也roleProvider
如果您使用它)在web.config
文件:
<membership userIsOnlineTimeWindow="20">
<providers>
<clear />
<add
connectionStringName="YourSpecifiedConnectionString" // your connectionString here
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="500"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<roleManager enabled="true">
<providers>
<clear/>
<add connectionStringName="YourSpecifiedConnectionString" // your connectionString here
name="AspNetSqlRoleProvider"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
對於配置數據庫使用ASP.NET內置的成員資格提供商,您可以使用regsql工具 這可以在這裏創建:
C:\Windows\Microsoft.NET\Framework\(version that you are using. mine is v4.0.30319)\
在此文件夾中,找到aspnet_regsql.exe
文件並運行它。將顯示一個有用的嚮導,並且 可以幫助您逐步配置新的數據庫。關於你的最後一個問題:你不得將 更改爲你的edmx
文件! EF使用您提供給它的表格,並且membershipProvider
通過 表格ASP.NET提供給它!做得好,幹得好!
你只需要將asp_net表移動到mydatabase中即可。顯然你必須在mydatabase中創建這些表,除非你已經擁有了自己的用戶模式? – TheCodeKing
感謝代碼的回覆。但如果我託管我的項目,我可以使用這些表嗎?我的意思是我仍然使用兩個數據庫(因爲如果我在mydatabase中創建新表,那麼需要做很多事情)。 –
問題是什麼?如果您的主機提供商允許,您可以使用兩個數據庫,或者您可以將這些現有的表移動到一個數據庫中,那麼有哪些工作很多? – TheCodeKing