gpt4 book ai didi

c# - Azure 数据库的 ASP.NET 数据库连接问题

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:13 27 4
gpt4 key购买 nike

我遵循了 Microsoft 网站上的 WingtipToys 教程,该教程基本上是 ASP.NET 的教程,并展示了它可以实现的众多功能,等等。

我制作了自己的数据库以在教程中使用,并让它在我的本地计算机上完美运行。然后,我决定将其发布到 Azure 以查看它能否正常在线工作,这就是我的问题开始的地方。

首先,我在 Azure 中创建了一个 SQL 数据库,并将我的数据库移动到各处。我可以在 Visual Studio 中连接到此 Azure 数据库,并可以验证是否存在所有正确的表,每个表都填充了数据;

Database Connection in Visual Studio

Database Data

下一步是更新我的连接字符串,目前是;

  <connectionStrings>
<add name="WingtipTpys" providerName="System.Data.SqlClient" connectionString="Server=tcp:xxxx.database.windows.net,1433;Database=xxxx;Integrated Security=False;User Id=xxx;Password=xxxx;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True" />
</connectionStrings>

现在,我在这个阶段的印象是数据库和网站现在可以相互通信,因此我发布了网站以查看它的外观,这就是(对我来说)真正令人困惑的部分发生的地方。

当我访问我发布的网站 URL ( http://completebusiness2017.azurewebsites.net/ ) 时,它使用正确的母版页,并且“关于”和“联系”页面都是应有的样子。但是,它正在从以下位置提取数据:

ProductDatabaseInitializer

类,其中包含以下代码:

 private static List<Product> GetProducts()
{
var products = new List<Product> {
new Product
{
ProductID = 1,
ProductName = "TEST",
Description = "This convertible car is fast! The engine is powered by a neutrino based battery (not included)." +
"Power it up and let it go!",
ImagePath="",
UnitPrice = 39.50,
CategoryID = 1
},
new Product
{
ProductID = 2,
ProductName = "Silly Car",
Description = "There's nothing old about this toy car, except it's looks. Compatible with other old toy cars.",
ImagePath="",
UnitPrice = 15.95,
CategoryID = 1
},

这个类一直存在,但在我的本地机器上,从未使用过。数据直接来 self 创建的数据库。我不明白我现在如何更新连接字符串,它是从此类而不是我的数据库中提取数据。另一个奇怪的元素是,当我更新这个类时,例如我改变了;

Convertible Car Price from 22.50 to 39.50 and Old-time Car name to Silly Car

当网站再次发布时,这些内容不会更新。所以我不知道它在哪里或为什么使用旧数据。

所以我想我的第一个问题是,当我更新 ProductDatabaseInitializer 类时,为什么当网站再次发布时这些更改没有反射(reflect)出来?我想我应该在询问为什么我的数据库无法正常工作之前先了解为什么会发生这种情况。

任何帮助都将非常感激。

谢谢您,节日快乐。

最佳答案

我并不 100% 确信您是从您认为的位置提取数据。您可以验证您的数据库连接字符串吗?

您需要查看几个地方。首先,在 Azure 门户中,导航到 Web 应用程序,然后选择“应用程序设置”菜单选项。检查“连接字符串”部分下是否列出了任何内容。

其次,登录您的 SCM 站点,地址为 http://completebusiness2017.scm.azurewebsites.net 。登录后,选择“调试控制台”->“CMD”。然后浏览到/wwwroot 文件夹并检查 web.config 文件内容。检查以确保其中列出的连接字符串也是您所期望的。

请注意,门户中列出的应用程序设置连接字符串将优先于 web.config 文件中的内容。查看您期望连接的数据库是否确实列在这两个位置中。

此外,登录您的 SCM 站点并浏览到/App_Data 目录。查看那里是否有您不希望看到的数据库。

关于c# - Azure 数据库的 ASP.NET 数据库连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47677031/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com