ASP.NET 4.5成员资格在设计时无法识别SQL Server数据提供程序?

时间:2013-01-31 21:01:04

标签: asp.net sql sql-server-2008-r2 membership-provider

我是Visual Studio 2012 / ASP.NET 4.5 Web表单的新手。

我正在尝试在ASP.NET应用程序中使用表单身份验证(asp.net 4.5 web forms成员资格)(使用Visual Studio 2012),因为我已使用asp.net version 4.0多次成功完成。

问题似乎是,当我在Visual Studio 2012进行测试时,它无法识别指向web.config的{​​{1}}设置。它似乎使用SQL Server 2008R2 aspnetdb文件来存储我的用户。

我尝试从我的网络应用中完全删除SQL Express aspnetdb.mdf但它仍然无法识别指向aspnetdb.mdf的{​​{1}}设置,而是使用其他地方的设置(不要不知道在哪里!)。我知道这一点,因为如果我不提供问题和答案作为参数,web.config方法会抛出错误。此外,Web配置工具还需要一个问题和答案来创建新用户。我的SQL Server设置专门没有!

当我托管Web应用程序时,它会在Membership.CreateUser()数据库中查找我的用户,因为当我尝试使用在VS2012中使用Web配置工具成功创建的用户名登录时,我的应用程序找不到那个用户!它好像在查看web.config但找不到它。

我一定错过了一些基本的设置......任何人都有任何想法?

我在下面添加了我的web.config设置:

SQL Server

2 个答案:

答案 0 :(得分:0)

一些事情......

1)用户或某个帐户是否可以访问SQL数据库?我在这里没有看到这一点 2)如果IIS和SQL位于同一服务器上,请使用在启动SQL Management Studio时显示的SQL Server的服务器名称,而不是localhost。 3)检查您的machine.config文件,查找您正在使用的.Net版本。我最终不得不将SQL Express设置更改为服务器的IP地址,以便在类似的情况下为我提供工作,同时删除(通过控制面板)SQL Express或VS 2012安装的任何测试数据库。我最近在构建服务器时遇到了与此相关的错误。

::编辑::

还要将以下内容添加到'connectionStrings'部分上方的Web.Config文件中:

    <startup>
    <supportedRuntime version="4.0" sku=".NETFramework,Version=v4.5" />
    </startup>

答案 1 :(得分:0)

您可以尝试使用ASP.Net Config创建角色和用户吗?

<强> VS2010

enter image description here

或者

VS 2012 &gt;项目&gt; ASP.Net配置

另一个是添加清晰 - Don't forget to when adding providers