我是这方面的新手,对于大学课程,我需要使用 azure 设置一个云 Web 应用程序。不用说,我不知道我在做什么,并且只能按照本指南中显示的说明进行操作 https://learn.microsoft.com/en-us/azure/app-service/tutorial-dotnetcore-sqldb -应用程序。
我完美地遵循了所有步骤(我认为),但在生成数据库模式的步骤 4 中遇到了问题。它告诉我通过 ssh 运行 ./migrate,我这样做了,它只给了我一堆我绝对不理解的文本,然后最后用红色表示:“这个平台不支持 LocalDB .”
我在 github 上发现一篇文章说 LocalDB 在我使用的操作系统 Linux 上不受支持。我还发现了另一种说法,即你无法真正更改操作系统。有办法让它发挥作用吗?我在其他帖子中发现了一些提到其他选项的内容,例如:如何将 localdb 从 Visual Studio 连接到已发布的 Azure Web 应用程序?。
我真的不知道从这里该做什么,需要一些帮助。
我从您提供的文档中克隆了代码。
在创建Web应用程序+数据库时,我选择了SQLAzure作为引擎,并选择“否”添加Azure Cache for Redis,如下所示。
单击“查看+创建”按钮后,系统提示我进入下面的屏幕,我在其中复制了用户名和密码。
在 Azure 中成功创建 Web 应用程序后,我在本地计算机上打开克隆的项目并更改 appsettings.json 中的连接字符串。
"ConnectionStrings": {
"MyDbConnection": "Server=tcp:<YourServerName>.database.windows.net,1433;Initial Catalog=<yourDataBaseName>-database;Persist Security Info=False;User ID=<UserID>;Password=<Password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;;Connection Timeout=30;Authentication="
}
appsettings.json:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"MyDbConnection": "Server=tcp:<YourServerName>.database.windows.net,1433;Initial Catalog=kasampledbapp-database;Persist Security Info=False;User ID=<UserID>;Password=<Password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;;Connection Timeout=30;Authentication="
}
}
出于迁移目的,我删除了旧的迁移文件并在包管理器控制台中运行以下命令。
enable-migrations
add-migration InitialCreate
update-database
之后,转到 Azure 门户中的数据库服务器并添加您的客户端地址,如下所示。
本地输出:
要发布,请右键单击项目名称,然后选择“发布”选项,如下所示。
在下图中,我在 Azure 中选择了我的 Web 应用程序。
我已成功将我的 Web 应用程序发布到 Azure,如下所示。
Azure 应用服务输出: