2013-06-30 59 views
0

什么是使用ASP.NET网站管理工具的正确流程?我想用这个工具来配置角色和成员资格。无法连接到ASP.NET网站管理工具上的数据库

的步骤,我想:

  1. 创建MVC Web应用程序。
  2. 运行aspnet_regsql创建相关数据库。下面的错误信息提示命令工具。虽然我意识到角色,但是从创建项目开始就创建了成员表。新的web应用的
  3. 修改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" /> 
    

错误消息: 没有与您所选的数据存储问题。这可能是由于无效的服务器名称或凭据,或者权限不足造成的。它也可能是由角色管理器功能未启用引起的。点击下面的按钮将被重定向到您可以选择新数据存储的页面。

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

你能帮忙吗?如果您需要更多信息,请告诉我。

我已经研究这个问题了几个小时,发现下面有帮助的线程,但仍不能完全解决它:

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

回答

0

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

要使用Web站点管理工具与MVC 4/VS 2012,您可以:

  1. 工作与MVC 3应用程序,
  2. 与MVC 4应用工作,基本模板 了这两个选项,人们不需要修改web.config,也不需要选择提供者。它只是工作。

请记住在使用网站管理工具之前构建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

0

这听起来像在连接字符串你的Asp.net应用程序不正确。

如果需要,可以将这些查询直接编写到数据库中。

检查您的web.config文件,并确保您的所有连接都是正确的。你是否使用简单的会员资格?或者Asp.net表?

+0

谢谢。我相信连接字符串是正确的,因为同样的事情在mvc web应用程序中运行良好。我可以注册并登录。你是对的,我使用简单的membershp。在调用“WebSecurity”类的任何其他方法之前,我现在主要关注此错误“”WebSecurity.InitializeDatabaseConnection“方法。该调用应放置在_AppStart.cshtml中。我感到困惑,因为没有这样的_AppStart.cshtml。我在global.asax.cs中有一个调用:WebSecurity.InitializeDatabaseConnection(“DefaultConnection”,“UserProfile”,“UserId”,“UserName”,autoCreateTables:true); –

相关问题