2011-09-23 70 views
1

我想問一下關於ASP.Net配置。我有一個使用ASP.Net MVC3的項目。我在我的項目中使用會員資格。在我的數據庫服務器中,我的項目有2個數據庫。ASP.Net MVC 3配置

  1. ASPNETDB,包含aspnet_membership,aspnet_user,aspnet_roles等(我用asp.net配置)
  2. MyDatabase的,它爲我的項目數據庫。

現在我的老闆告訴我他想公開承載我的項目並告訴我只使用一個數據庫。所以我必須將aspnetdb移動到mydatabase。我怎麼能做到這一點,而無需在mydatabase中創建新表?

謝謝

+0

你只需要將asp_net表移動到mydatabase中即可。顯然你必須在mydatabase中創建這些表,除非你已經擁有了自己的用戶模式? – TheCodeKing

+0

感謝代碼的回覆。但如果我託管我的項目,我可以使用這些表嗎?我的意思是我仍然使用兩個數據庫(因爲如果我在mydatabase中創建新表,那麼需要做很多事情)。 –

+1

問題是什麼?如果您的主機提供商允許,您可以使用兩個數據庫,或者您可以將這些現有的表移動到一個數據庫中,那麼有哪些工作很多? – TheCodeKing

回答

1

默認情況下,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> 

而且,你必須改變connectionStringmembershipProvider(也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提供給它!做得好,幹得好!

+0

感謝javad爲您的答案,其幫助我 –

+0

歡迎您(^_^)並感謝您的接受。如果此答案有幫助,請將其投票。再次感謝你。問候。 –