如何在.net核心项目中设置soapclient的超时

问题描述 投票:1回答:1

我必须在.Net Core 2.0项目中使用SOAP服务。我添加了服务参考,如下面的链接所述:(Missing link, 404

某些方法的服务正常。但是,有些方法需要很长时间(由于操作服务正在进行),在这种情况下程序抛出异常:“System.Net.Http.WinHttpException:操作超时”

我试图设置超时值但它没有效果。

MyService.MyServiceSoapClient Pr = 
    new MyService.MyServiceSoapClient(
            new MyService.MyServiceSoapClient.EndpointConfiguration());

Pr.InnerChannel.OperationTimeout = new TimeSpan(0, 10, 0);

我还检查了以下链接,该链接有关于.Net Core中的wcf / soap服务的相关问题:qazxsw poi

但目前还没有解决方案。知道如何解决这个问题吗?

wcf soap asp.net-core-2.0 timeoutexception
1个回答
1
投票

好的如果有人遇到同样的问题,我发布了我找到的解决方案。似乎其他人也遇到了这个问题,并问了问题GitHub: dotnet/wcf

据我所知,这是.Net Core 2.0的一般错误,如果请求持续时间超过30秒,则会发生错误。

从上层链接可以看出,他们发布了一个解决方案here。它对我有用。解决方案需要在发出实际请求之前每次都提出虚假的服务请求,以便更改超时设置。为了避免这种情况,我可以建议你捕获“CommunicationException”,并在该catch中应用解决方案。因此,只有在您真正需要的时候才能拨打额外的电话。我正在复制代码,以防链接死亡(所有代码为here

https://github.com/mconnew/
© www.soinside.com 2019 - 2024. All rights reserved.