无法连接到ASP.NET网站管理工具上的数据库

时间:2013-06-30 05:45:51

标签: asp.net asp.net-membership role

使用ASP.NET网站管理工具的正确流程是什么?我想使用此工具来配置角色和成员资格。

我尝试过的步骤:

  1. 创建MVC Web应用程序。
  2. 运行aspnet_regsql以创建相关数据库。下面的错误消息建议使用命令工具。虽然我意识到角色,但是自项目创建以来已经创建了成员资格表。
  3. 修改新的webapplication的web.config:

    <system.web>
    <roleManager enabled="true" defaultProvider="simple">
    <providers>
        <clear/>
        <add name="simple" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
    </providers>
    </roleManager>
    
    <membership defaultProvider="simple">
    <providers>
    <clear/>
    <add name="simple" type="WebMatrix.WebData.SimpleMembershipProvider,WebMatrix.WebData"/>
    </providers>
    </membership>
    ...
    ...
    <add name="DefaultConnection" connectionString="Data Source=(localdb)\.\IIS_DB;InitialCatalog=aspnet-DemoWebApplication-20130625124639;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnet-DemoWebApplication-20130625124639.mdf" providerName="System.Data.SqlClient" />
    
  4. 工具页面上显示的错误消息: 您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。它也可能是由未启用角色管理器功能引起的。单击下面的按钮可重定向到可以选择新数据存储的页面。

    以下消息可能有助于诊断问题:在调用“WebSecurity”类的任何其他方法之前,必须调用“WebSecurity.InitializeDatabaseConnection”方法。此调用应放在站点根目录中的_AppStart.cshtml文件中。

    你能帮忙吗?如果您需要更多信息,请与我们联系。

    我已经研究了这个问题几个小时,发现在有用的线程下面,但仍然没有完全解决它:

    1. Web Site Administration Tool ERRORS
    2. Web Site Administration Tool Not Working with ASP.NET MVC

2 个答案:

答案 0 :(得分:0)

听起来您的Asp.net应用中的连接字符串不正确。

如果需要,您可以直接在数据库中编写这些查询的脚本。

检查您的web.Config文件并确保其中的所有连接都正确无误。你使用简单的会员资格吗?还是Asp.net表?

答案 1 :(得分:0)

事实证明,与MVC 4一起使用的SimpleMembership不适用于网站管理工具。人们使用WebSecutiry API代替。

要在MVC 4 / VS 2012中使用网站管理工具,您可以:

  1. 使用MVC 3应用程序,
  2. 使用MVC 4应用程序,基本模板 有了这两个选项,人们就不需要修改web.config,也不需要选择提供者。它只是有效。
  3. 请记住在使用网站管理工具之前构建Web应用程序。

    我指的是这个博客:http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx