在可靠的请求回复中,我了解回复是公认且可靠的。如果由于某种原因,回复消息在所有 8 次尝试中持续失败(默认重试次数为 8 次),则通道将出现故障。
在服务器端服务方法中,如果回复失败,我需要采取措施,但我看不到如何实现这一点,因为服务方法不知道 WCF 上下文。
/// <summary>
/// This is my service method, and does the reply in reliable request reply
/// </summary>
/// <returns></returns>
public IModelJob GetNextJob()
{
//dequeue the next item if there is any
var modelJob = _priorityQueue.Dequeue();
//if all attempts to reply fail (or at least fail to be acknowledged) then when and how do I get a chance to requeue this job?
return modelJob;
}
当您是客户端并在代理本身上调用服务方法时,处理故障似乎要容易得多,因为您可以从 ClientBase 实现自己的代理。
我已阅读: http: //msdn.microsoft.com/en-us/library/aa480191.aspx并进行了搜索,但找不到任何具体内容。