强制从 WCF 服务引发 EndpointNotFoundException

Force EndpointNotFoundException raise from WCF service

我们有一个现有的 WCF 客户端,它从 WCF 服务接收数据。我们在客户端实现了一种特定的业务逻辑,只有在从 WCF 调用中发现 EndpointNotFoundException 时才会执行。最近我们收到了一个非常具体的需求,对于一些特殊的业务场景需要执行相同的逻辑。但是,由于业务限制,我们无法灵活地在客户端修改代码。因此,我们开始考虑是否有可能从服务中引发强制 EndpointNotFoundException,以便在从服务接收到 EndpointNotFoundException 时可以在客户端中执行相同的代码。问题是,即使我们从服务中引发 EndpointNotFoundException,WCF 服务也总是发送错误契约异常。我的问题是,有没有办法从服务中引发 EndpointNotFoundException,以便客户端可以收到完全相同的错误,而不是任何故障异常。

非常感谢您的意见。从商业角度来看,这是非常关键的。

我明白了,如果我将请求的状态代码设置为 404 未找到,最终在客户端它会抛出 EndpointNotFoundException exception.If 请求已成功处理。

WebOperationContext ctx = WebOperationContext.Current;
ctx.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.NotFound;