我正在使用C#asp.net 4的创建用户向导。我想将其默认数据库(即ASPNETDB.mdf
)更改为我自己创建的数据库(即test.mdf
)。
我该怎么做?还有一件事。
答案 0 :(得分:1)
该向导将创建一个存储在web.config文件中的连接字符串,该文件位于Web应用程序的根文件夹中。只需打开此文件并相应地更改连接字符串。
以下是一个连接字符串的示例,它在我的一个项目中的外观如何:
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
</connectionStrings>
所以,你只需要改变文件名。如果需要,您还可以提供数据库的完整路径。
答案 1 :(得分:1)
需要2个步骤。
首先需要运行aspnet_regsql.exe
工具,该工具位于[YouWinDrive]:\Windows\Microsoft.NET\Framework\v2.0.50727
,并且在您定向任意数据库时在此向导中创建必要的对象。
步骤2:您需要配置您的asp.net会员提供商。您可能知道web.config文件从位于[YouWinDrive]:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
如果查看该文件,您会发现默认的AspNetSqlMembershipProvider是sqlserver express和aspnetDB中的目标:
<membership>
<providers>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
</providers>
</membership>
因此,您需要在web.config文件中覆盖此成员身份,如下所示:
<membership defaultProvider="MyMembershipProvider">
<providers>
<add name="MyMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="YourConnectionToArbitraryDatabase"
enablePasswordRetrieval="true"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="YourAppName"
requiresUniqueEmail="false"
passwordFormat="Encrypted"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
您可以根据需要进行更改。