0
  1. 我创建了一个 ASP.NET Core Web API 并将其作为应用服务部署在 Azure 中。
  2. 我创建了一个混合连接并在本地数据库服务器上安装了混合连接管理器,将混合连接状态设置为已连接(已成功将应用服务与本地数据库服务器连接)。
  3. 在 Web 浏览器或 Postman 上发送 Get Request 或访问 Web API 时

我收到的结果是:

500 - 请求超时。Web 服务器未能在指定时间内响应。

在我的本地机器上开发 Web API 时,它运行顺利,我可以通过 VPN 连接连接到 On-Premise。我还添加了这段代码

services.AddDbContext<RepositoryContext>(o => o.UseSqlServer(connectionString, sqlServerOptionsAction: sqlOptions =>
{
  sqlOptions.EnableRetryOnFailure(
     maxRetryCount: 5,
     maxRetryDelay: TimeSpan.FromSeconds(60),
     errorNumbersToAdd: null);
}));
4

2 回答 2

1

在没有更多信息的情况下,500 错误,我猜最可能的原因是连接到 On-Premise sql server 时出现问题。

故障排除:

  1. 单击诊断并解决问题以查看应用程序事件日志以查看特定日志。

    在此处输入图像描述

  2. (可选)打开应用程序日志记录(文件系统)和详细错误消息。

    具体可以登录scm网站查看错误日志。

    在此处输入图像描述

  3. 如果你测试接口并在本地或使用vpn连接数据库,肯定没有问题。现在问题一定是数据库连接部分。建议复查Hybrid connections。您还可以在门户网站上提出支持票,让他们检查日志并帮助您。

相关文章:

1.混合连接显示“已连接”,但应用程序连接失败

2. Azure Web App 混合连接失败

于 2021-04-19T03:48:10.347 回答
0

问题

我在 Azure 中创建的混合连接的端点/主机与 SQL 服务器的名称不同。我随机命名了端点,而不是给它实际的名称/IP 地址。

附加信息

即使您在服务器上安装了连接管理器并且状态设置为已连接,这并不意味着您的应用服务将与数据库进行通信。

解决方案

创建一个新的混合连接并将端点主机名设置为安装混合连接管理器的实际名称/IP 地址。

于 2021-04-23T10:41:01.267 回答