1

我有一个部署到 Azure 应用服务的 .NET Core 2.2 Web 应用程序,我正在连接到一个 Azure SQL 托管实例。Appsettings.json 中要写入的连接字符串应该是什么。我尝试了在 Azure 门户中找到的以下连接字符串,但这不起作用。

"AZURESQLCONNSTR_":Server=tcp:azure-abcde.database.windows.net,1433;Persist Security Info=False;User ID=userid;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

但是当我尝试运行下面的 Azure App Service 时,我没有得到任何数据。

http://productwebapp.azurewebsites.net/api/ProductDetails/GetProductDetails.

您能否提出解决此问题的方法?

4

2 回答 2

1

您必须允许某些 IP 地址连接到它。查看 SQL 数据库服务器的防火墙设置。您可以通过计算机的 IP 地址(或 IP 范围)来访问 SQL 数据库

确保启用允许 Azure 服务和资源访问服务器

在此处输入图像描述

编辑:

关注资源

创建 Azure SQL 数据库托管实例

连接 Azure 应用服务托管的应用程序

于 2019-12-13T05:39:46.043 回答
1

正如您所说,您有一个部署到 Azure 应用服务的 .NET Core 2.2 Web 应用程序,您希望连接到一个 Azure SQL 托管实例。

您的 Web 应用是 Azure App Service 主机应用程序。

我认为您可以参考本教程:连接 Azure 应用服务托管应用程序

托管实例只能通过私有 IP 地址访问,因此要从 Azure 应用服务访问它,您首先需要在应用程序和托管实例 VNet 之间建立连接。请参阅将您的应用与 Azure 虚拟网络集成

有关疑难解答,请参阅VNet 和应用程序疑难解答。如果无法建立连接,请尝试同步网络配置

将 Azure 应用服务连接到托管实例的一种特殊情况是将 Azure 应用服务集成到与托管实例 VNet 对等的网络。这种情况需要设置以下配置:

  • 托管实例 VNet 不得具有网关
  • 托管实例 VNet 必须设置使用远程网关选项
  • 对等 VNet 必须设置允许网关传输选项

另一个参考:https ://docs.microsoft.com/bs-latn-ba/azure/sql-database/sql-database-connect-query-dotnet-core

希望这可以帮助。

于 2019-12-13T06:59:07.217 回答