[英]ASP.Net Membership Error CREATE DATABASE failed. Some file names listed could not be created. Check related errors
我正在尝试将AP.Net成员资格添加到我的数据库中。 过去我在此方面取得了成功,因此我对自己的工作有所了解。 我的项目是一个带有Framework 4.5.2的VB.Net网站。 我在框架4中使用asp_regsql.exe将架构添加到我的数据库中。 我创建了以下web.config条目(根据MSDN文章):
<connectionStrings>
<add name="AFKMSConnectionString" providerName="System.Data.SqlClient" connectionString="working as intended" />
<system.web>
<authentication mode="Forms" >
<forms loginUrl="Account/Login.aspx"
name=".ASPXFORMSAUTH" />
</authentication>
<!--<authorization>
<deny users="?" />
</authorization>-->
<compilation debug="true" targetFramework="4.5.2"/>
<httpRuntime targetFramework="4.5.2"/>
<pages>
<namespaces>
<add namespace="System.Web.Optimization"/>
<add namespace="Microsoft.AspNet.Identity"/>
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
</controls>
</pages>
<membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add
name="SqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed" />
</providers>
</membership>
<profile enabled ="true" defaultProvider="SqlProvider">
<providers>
<clear />
<add name="SqlProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"
description="SqlProfileProvider for SampleApplication" />
</providers>
</profile>
<roleManager enabled ="true"
defaultProvider ="SqlRoleProvider" >
<providers>
<clear/>
<add name ="SqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="AFKMSConnectionString"
applicationName="AFKMS"/>
</providers>
</roleManager>
我的连接字符串适用于当前功能,但是当我尝试注册用户时,出现以下错误:
文件“ C:\\ Users \\ Dan \\ Source \\ Repos \\ AFKMS \\ AFKMS \\ App_Data \\ aspnet-AFKMS-140073d4-6858-4f19-9555-0edfbaadd43a.mdf”的目录查找失败,并出现操作系统错误2(系统无法查找指定的文件。)。 CREATE DATABASE失败。 列出的某些文件名无法创建。 检查相关错误。
这来自帐户/注册,
昏暗的结果= manager.Create(用户,Password.Text)
为什么要尝试创建数据库? 我想念什么?
<connectionStrings>
<add name="AFKMSConnectionString" connectionString="data source=.;Initial Catalog=your_db_name;integrated security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
您可以向我们提供有关如何创建用户的代码吗? 您提到:昏暗的结果= manager.Create(user,Password.Text)我认为您需要使用:
Membership.CreateUser(UserName, Password, Email)
我假设您已经使用Web窗体模板创建了一个新的ASP.NET Web应用程序?
在这种情况下,您似乎正在尝试使用原始成员资格提供程序配置设置来配置较新的ASP.NET Identity系统。
如艾哈迈德所说,您在注册页面中提到了对manager.Create(user, Password.Text)
的调用-这是使用ASP.NET Identity中的ApplicationUserManager。
如果您查看项目的App_Start文件夹,则应该找到一个名为IdentityConfig.vb的文件(假设您使用的是VB.NET),该文件具有Create
方法,该方法返回ApplicationUserManager
依次调用ApplicationDbContext类,该类为在Models文件夹中创建的文件,该文件将定义为使用名为"DefaultConnection"
的连接-默认情况下,此文件在项目名称下的App_Data文件夹中设置为独立的.mdf文件。
您应该更改它以指向您的连接字符串,但是要注意,它使用Entity Framework为您创建数据库架构-它应该只是将其添加到现有数据库中,但是您应该确保在开始之前已对其进行备份万一它掉落了一切。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.