【问题标题】:How to diagnose slow HTTPS requests from Web API如何诊断来自 Web API 的慢速 HTTPS 请求
【发布时间】:2020-06-05 12:00:44
【问题描述】:

我在 Windows Server 2012 R2 上有一个 Web API(ASP.NET Core 3.0、IIS 6.2)。当它向外部 SOAP API 发出 HTTPS 请求时,我在 20 秒后收到代码 500 的响应。我的 API 在日志中写道:

操作超时

异常堆栈跟踪的尾部:

在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)\r\n 在 System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult 结果)\r\n 在 System.ServiceModel.Channels.ServiceChannel .EndCall(String action, Object[] outs, IAsyncResult result)\r\n at System.ServiceModel.Channels.ServiceChannelProxy.TaskCreator.c__DisplayClass1_0.b__0(IAsyncResult asyncResult)\r\n--- 堆栈跟踪结束之前抛出异常的位置---

我通过 SoapUI 从同一服务器向外部服务器重复我的 API 请求。 2-3秒后成功。我的 Web API 也可以在我的另一台服务器上运行。

不幸的是,我不知道如何找到问题的原因。请给我一个想法好吗?

【问题讨论】:

  • WebAPI项目中使用什么方法调用服务,直接构造HTTP请求?我建议你使用代理类或通道工厂来调用服务。 docs.microsoft.com/en-us/dotnet/framework/wcf/…另外请贴出WCF服务器的配置。我会尽力提供一些建议。

标签: wcf asp.net-web-api iis-6 windows-server-2012-r2


【解决方案1】:

我找到了解决方案。我刚刚从 4.4.0 更新了 nuget 包 System.ServiceModel.*,WCF 请求现在可以正常工作了。

https://github.com/dotnet/wcf/issues/2368

【讨论】:

    猜你喜欢
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多