【发布时间】:2015-04-30 01:47:24
【问题描述】:
我正在努力在 RoutingService 上设置 OperationTimeout
问题是消息转发到的服务需要超过 1 分钟才能做出响应。这会导致 RoutingService 出现 OperationTimeout 异常。
我尝试在 RoutingService 的客户端代理上设置 OperationTimeout,但没有成功。
我所做的是添加一个 Endpoint Behavior 并在 ApplyClientBehavior 方法中添加一个自定义 IClientMessageInspector。
在自定义 ClientMessageInspector 中,我设置了 OperationTimeout,就像您在这段代码 sn-p 中看到的那样。
public object BeforeSendRequest(ref Message request, IClientChannel channel)
{
var contextChannel = channel as IContextChannel;
contextChannel.OperationTimeout = new TimeSpan(0, 10, 0);
return request;
}
对我来说,此时我似乎为时已晚,因此 RoutingService 生成的代理并不关心此设置,可能是这样吗?
有什么建议吗?
【问题讨论】:
-
您不需要在帖子中包含签名 - 您的用户卡会自动添加。阅读FAQ了解更多详情。
-
好的,谢谢,没意识到。
标签: c# .net wcf wcf-routing