在VS2010 ASP.NET开发服务器上运行新的MVC3解决方案;会员数据库在哪里?

Posted

技术标签:

【中文标题】在VS2010 ASP.NET开发服务器上运行新的MVC3解决方案;会员数据库在哪里?【英文标题】:Running new MVC3 solution in VS2010 ASP.NET development server; where is membership database? 【发布时间】:2011-07-09 17:27:59 【问题描述】:

我首先要说:我不太了解会员提供程序在 ASP.NET 中是如何工作的,我正在努力更好地了解它们。

我刚刚在 VS2010 中创建了一个新的 MVC3 解决方案。我可以在 ASP.NET 的开发服务器中运行它,而且效果很好——真的很酷。但我有点困惑的是表单身份验证是如何在 ASP.NET 开发服务器中工作的。

考虑AccountController.cs的库存版本:

[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)

    if (ModelState.IsValid)
    
        if (Membership.ValidateUser(model.UserName, model.Password))
        
            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
            if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
            
                return Redirect(returnUrl);
            
            else
            
                return RedirectToAction("Index", "Home");
            
        
        else
        
            ModelState.AddModelError("", "The user name or password provided is incorrect.");
        
    

它使用Membership 类来验证通过 MVC3 网站注册的用户名和密码。太好了,我明白了,但是……这到底是如何工作的?尤其是在 ASP.NET 开发服务器中?

是否有一个数据库可以让我以某种方式打开并查看我输入的测试信息?它在哪里?

就像我说的,我并不真正理解它是如何工作的——如果我无法为 ASP.NET 开发服务器弄清楚它,那么我肯定无法在 IIS 中弄清楚它。我已经阅读了 Microsoft 的 Introduction to Membership 文档,但我觉得它在解释它是如何在较低级别上工作时确实做得不好;似乎只是说会员资格是“内置的”——好吧,这很酷,但故事必须比这更多,对吧?

【问题讨论】:

【参考方案1】:

注册用户后,请检查应用程序的~/App_Data 文件夹。这就是默认情况下数据库所在的位置。当然,您可能需要一个正在运行的 SQLExpress 实例。

打开您的 web.config 并查看以下内容:

  <connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
         providerName="System.Data.SqlClient" />
  </connectionStrings>

然后您可以修改连接字符串并在生产环境中使用真正的 SQL Server 数据库,而不是将其存储在本地的某些文件中。

【讨论】:

啊,有道理。刚刚检查了一下,这正是我想要的。

以上是关于在VS2010 ASP.NET开发服务器上运行新的MVC3解决方案;会员数据库在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

VS2010提示asp.net v4.0 尚未在web服务器上注册

VS2010提示asp.net v4.0 尚未在web服务器上注册

非托管 DLL 无法在 ASP.NET 服务器上加载

IIS 7.5 上的 ASP.NET MVC

IIS 7.5 上的 ASP.NET MVC

无法启动 ASP.NET 开发服务器,因为端口“1900”正在使用中