gpt4 book ai didi

asp.net-mvc-3 - 我的 ASP.NET MVC 应用程序中的 aspnetdb.mdf 来自哪里?

转载 作者:行者123 更新时间:2023-12-04 21:24:39 25 4
gpt4 key购买 nike

我是 ASP.NET 新手,刚刚开始学习 ASP.NET MVC 3。我已经使用默认模板启动了一个新的 ASP.NET MVC 3 项目,该模板已经配置了大部分成员资格。现在我正试图了解幕后真正发生的事情。

我发现默认模板定义了一个 IMembershipService 接口(interface),该接口(interface)由 AccountMembershipService 类实现,该类基本上只是包装了一个 System.Web.Security.MembershipProvider。从代码中的注释来看,听起来这种抽象是为了方便单元测试。

默认 MembershipProvider 在 Web.config 文件中设置。我的项目是从默认模板创建的,它设置为 SqlMembershipProvider。

<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>

这引用了 Web.config 文件中的连接字符串,该文件引用了 SQL Express 数据库“aspnetdb.mdf”。
  <connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>

当我第一次创建我的项目时,没有 aspnet.mdf 文件。但是在运行我的应用程序并注册一个新用户之后,这个文件会自动生成表和所有文件。这里发生了什么?是什么创建了这个文件并指定了应该创建的表?

最佳答案

这些是由 SqlMembershipProvider 类创建的。如果您愿意,您可以自定义配置文件以使用不同的成员资格提供程序或告诉它使用哪个现有数据库。

使用此工具将适当的表等添加到您现有的 SQL Server 安装中:http://msdn.microsoft.com/en-us/library/ms229862(v=VS.100).aspx

关于asp.net-mvc-3 - 我的 ASP.NET MVC 应用程序中的 aspnetdb.mdf 来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com