我想在我的业务流程中处理EndpointNotFoundException。
我添加了一个新的异常处理程序
范围synchronized = false
异常对象类型= System.ServiceModel.EndpointNotFoundException(此对象类型不起作用)
异常对象类型= System.ServiceModel.CommunicationException(此对象类型不起作用)
异常对象类型= System.SystemException(此对象类型有效。我不想要这样做)
关于如何在编排中捕获此类异常的任何想法?
答案 0 :(得分:2)
这似乎是一个常见的问题 - 例如here和here。如果我发现基本的System.Exception
被捕获的类型为System.ServiceModel.EndpointNotFoundException
且内部为System.Net.WebException
,我同意你的意见。
虽然没有直接回答您的问题,但为什么不将端口标记为Delivery Notification = Transmitted
,然后抓住DeliveryFailureException?。
这样,您可以将业务流程与特定适配器(WCF)分离,如果更改传输(或添加备份传输等),异常处理仍然有效。
编辑:Scott Colestock提到hack to catch internal exceptions - 类似的东西可能适用于原始要求