我正在努力在RoutingService上设置 OperationTimeout
问题是消息转发到的服务需要超过 1 分钟才能做出响应。这会导致 RoutingService 上出现 OperationTimeout 异常。
我试图在 RoutingService 的客户端代理上设置 OperationTimeout,但没有成功。
我所做的是添加一个端点行为并在 ApplyClientBehavior 方法中添加一个自定义 IClientMessageInspector。
在自定义 ClientMessageInspector 中,我设置了 OperationTimeout,就像您在此代码片段中看到的那样。
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var contextChannel = channel as IContextChannel;
contextChannel.OperationTimeout = new TimeSpan(0, 10, 0);
return request;
}
对我来说,此时我似乎为时已晚,因此 RoutingService 生成的代理并不关心这个设置,可能是这样吗?
有什么建议么?