我在设置RoutingService的OperationTimeout上遇到了困难。
问题是消息转发到的服务需要超过1分钟才能给出响应。这会导致RoutingService出现操作超时异常。
我尝试在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生成的代理可能不关心这个设置,这是可能的吗?
有什么建议吗?