【发布时间】:2010-02-14 19:20:00
【问题描述】:
我正在设置会员提供程序,因此,我收到以下错误消息:
An attempt to attach an auto-named database for fileC:\Users\Mcoroklo\Desktop\Programmering\Private Projekter\ASP.NET\Helpdesk\Version4\HelpDesk\ClientSite\App_Data\ASPNETDB.mdf 失败的。同名数据库 存在,或指定的文件不能 已打开,或者它位于 UNC 共享上。
我是设置会员的新手,所以我不能否认缺少一些真正重要的东西! :-)
我很确定这与我的连接字符串和/或 SQL 成员资格提供程序有关。我的 web.config 中有以下设置:
我的连接字符串:
<connectionStrings>
<add name="MembershipServer" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf; Trusted_Connection=Yes;"/>
我的 SQL 提供程序
<membership defaultProvider="AspNetSqlProvider">
<providers>
<clear/>
<add connectionStringName="MembershipServer"
name="AspNetSqlProvider"
applicationName="/"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
我的身份验证和授权:
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="Site/Login.aspx"
cookieless="UseCookies" >
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我网站中的文件结构是我的目录中有两个本地数据库。成员资格一(ASPNETDB.MDF)是我用我的连接字符串指向的成员。我已经使用 ASP.NET 工具来创建它。
我通过 LINQ TO SQL 类连接到的另一个数据库位于不同的项目中(使用层)。
非常感谢!!
【问题讨论】:
-
您是否使用其他程序打开了数据库?
-
你是在本地开发环境中运行这个吗?
-
似乎你在不需要的时候工作太努力了。从一个新站点开始并运行配置。在您熟悉基于提供者的会员功能并需要自定义行为之前,没有必要通过复制默认行为来混淆事物。我说得通吗?例如您提供的值表明您实际上应该使用 machine.config 中的默认配置。
标签: asp.net sql-server web-config membership