ASP.NET Web 窗体用户数据 - 未存储在 SQL 中
Posted
技术标签:
【中文标题】ASP.NET Web 窗体用户数据 - 未存储在 SQL 中【英文标题】:ASP.NET Web Form User Data - Not Stored in SQL 【发布时间】:2016-12-22 14:09:28 【问题描述】:我有一个 ASP.NET Web 窗体应用程序 (.NET 4.5),我的连接字符串设置为连接到我的 Advantage 数据库服务器 (ADS)。我正在尝试将 ASP.NET Web 表单页面中已有的预装表单用于用户帐户,但我有一个问题:我不知道数据存储在哪里。
我知道在正常情况下,这些数据将存储在本地数据库中,该本地数据库设置在 Web.config 中的连接字符串中。但是,正如我所提到的,我没有使用 SQL,我使用的是 ADS。
任何人都知道这些数据存储在哪里,因为它没有创建 localDB .mdf 文件?
【问题讨论】:
您是否尝试查看应用程序中的连接字符串?默认模板使用 ASP.NET 标识。只需查看传递给它的连接字符串,它就会告诉您数据在哪里。 是的,我的 web.config 连接字符串设置为我的 ADS 数据库,但那里没有存储数据。 仅仅因为您的 web.config 中有一个连接字符串并不意味着它被 ASP.NET Identity and Entity Framework 使用。查看上下文的构造函数,看看它使用的是什么连接字符串。 我不知道在哪里可以找到? 在 VS 创建的带有个人用户帐户的 Web 应用程序中,查看Models/IdentityModels.cs
。查看ApplicationDbContext
的构造函数?它将 "DefaultConnection"
作为 web.config 中将使用的连接字符串的名称传递。
【参考方案1】:
感谢梅森,我找到了问题所在。 ApplicationDbContext 的“默认连接”应该已更改以匹配我的 web.config 文件。
我添加了第二个连接字符串(因为我的第一个连接字符串指向我的 ADS 数据库)并将其命名为“UserAccounts”。这与 Visual Studio 在创建 Web 窗体应用程序时默认生成的本地 SQL DB 的默认路径相同。所以现在我将我的用户帐户数据存储在本地。到目前为止,我还没有意识到您可以将多个连接字符串添加到不同的数据库。
【讨论】:
以上是关于ASP.NET Web 窗体用户数据 - 未存储在 SQL 中的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web 窗体 - 通过 jquery 填充字段时客户端验证不起作用?
用于用户管理的 ASP.NET Web 表单应用程序中的 Advantage Database Server (10.1)
asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面?