0

我看到了一些奇怪的行为,我确信有一个我看不到的简单解释。

使用 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_* 表时,它们都不包含任何数据。

它在哪里保存这些数据?

4

2 回答 2

1

事实证明,正如@Aristos 在对上述问题的评论中所暗示的那样。它使用的不同的数据库,尽管我目前不确定如何. 数据库之间的区别是:

localhost\SQLEXPRESS2012

对比

DAVIDDONAHU436A\SQLEXPRESS2012

如果这是一个网络环境,我会假设命名主机不是本地主机。但这是一个沙盒虚拟机。我已经确认有问题的主机就是那个名字。不知何故,同一主机上有两个同名的 SQL 实例绑定到不同的主机名条目。

奇怪的。

于 2012-06-04T22:22:42.663 回答
-1

在以后的版本中,数据不存储在 aspnet_... 中,而是存储在用户和角色中。在此处查看更多信息:Aspnet 网站管理工具、Users 表或 aspnet_users 表

于 2012-06-04T20:41:26.303 回答