【发布时间】:2012-06-04 20:34:23
【问题描述】:
我看到了一些奇怪的行为,我确信有一个我看不到的简单解释。
使用 Visual Studio 2012 RC、MVC 4,我创建了一个标准的 Internet 应用程序(使用 Forms 身份验证)。然后我使用 aspnet_regsql 将成员资格表添加到我的数据库中。然后我更新了 Web.config 连接字符串以指向我的自定义数据库:
<add name="NewEdCoConnectionString" connectionString="Data Source=localhost\sqlexpress2012;Initial Catalog=NewEdCo;Integrated Security=True" providerName="System.Data.SqlClient" />
当然,更新了 Web.config 中的提供程序节点以使用该连接字符串。
它工作正常。我可以在通常的 IIS Express 中启动应用程序,注册用户,以该用户身份登录等。我终止应用程序,重新启动,我仍然可以以该用户身份登录。所以它正在持久化数据。
但是,在 SQL Server Management Studio 中,当我 SELECT * FROM 任何 aspnet_* 表时,它们不包含任何数据。
它将这些数据保存在哪里?
【问题讨论】:
-
您可能看不到正确的数据库。 (以太你,以太你网络应用程序)
-
@Aristos:但它会是什么其他数据库?这就是问题所在。我已经通过更改连接字符串的名称测试了 Web.config,这预计会引发错误,因为提供程序无法找到该名称的字符串。我通过使连接字符串本身无效(指定不正确的初始目录)运行了另一个测试,它继续工作。所以它正在寻找那个连接字符串name,但它没有使用实际的连接字符串。那么它会用什么?
-
您是否打开了名为
NewEdCo的数据库或其他数据库?至少在我的数据库中,数据在那里:) -
@Aristos:在 SQL Management Studio 中?服务器上没有其他数据库(除了
master等等)。但是,是的,该数据库存在,我明确地从中选择:SELECT * FROM NewEdCo.dbo.aspnet_Users -
所以你看,我一开始是对的,你看看别的地方:)
标签: asp.net forms-authentication asp.net-mvc-4