导出 (0) 打印
全部展开

处理出错消息传递对象

更新时间: 2014年3月

许多 Windows Communication Foundation (WCF) 开发人员众所周知的是,WCF 通信对象为了处理内部状态转换会受到特殊预防措施的限制;特别是 WCF 对象在出错状态下结束的那些情况。通常,需要重置 WCF 通信堆栈(例如,通过重新创建客户端通道)才能从这种情况中恢复。

中转消息传递 API 通过处理可使基础通信对象不可用的情况并从这些情况中恢复,来针对出错的通信对象提供“现成的”恢复能力。与传统 WCF 客户端不同,利用中转消息传递 API 的 Service Bus 消息传递客户端无需实现任何特殊逻辑即可处理出错的通信对象。所有通信都对象(如 MessagingFactoryQueueClientTopicClientSubscriptionClientMessageSenderMessageReceiver)将自动检测可能会使通信堆栈转为非运行状态的异常并从这些异常中恢复。

某些消息传递操作(如“完成”、“放弃”和“延迟”)将不能提供无缝的自动恢复。如果 Complete()Abandon() 失败并显示 MessagingCommunicationException 异常,唯一的办法是接收另一条消息,该消息可能是未能完成的那条消息(前提是没有任何一个竞争使用者同时检索它)。

显示:
© 2014 Microsoft