Pod启动时WCF超时.NET Core

问题描述

我们有一个在OpenShift中运行的ASP.NET Core 3.1 REST API。我们看到的实例是,在创建新Pod时,它们无法连接到导致超时的SOAP服务。如果我们大多数时候重新启动Pod,则该应用可以连接。

在部署之后和自动扩展时,我们会看到这种行为。同样,它仅在吊舱启动且间歇性发生时才发生。我们看到其他Pod能够在相同的OpenShift节点上同时进行那些相同的SOAP调用

我们已经检查了所有OpenShift节点的防火墙,并且可以连接到SOAP服务。

任何人都知道是什么原因造成的?

解决方法

如果WCF接口代码的操作时间比较耗时,那么当连接数已满时,新请求将返回超时错误。

请参考以下代码,并将其添加到wcf主机主机配置文件中:

maxConcurrentCalls - Gets or sets a value that specifies the maximum number of messages actively processing across a ServiceHost.
maxConcurrentInstances - Gets or sets a value that specifies the maximum number of InstanceContext objects in the service that can execute at one time.
maxConcurrentSessions - Gets or sets a value that specifies the maximum number of sessions a ServiceHost object can accept at one time.

客户端通话结束后需要关闭频道:

client.Close();

如果问题仍然存在,请随时告诉我。