c# - 强制从 WCF 服务引发 EndpointNotFoundException

标签 c# wcf

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

我们将不胜感激您的意见。从商业角度来看,这是非常关键的。

最佳答案

我明白了,如果我将请求的状态代码设置为 404 not found,最终在客户端它会抛出 EndpointNotFoundException 异常。如果请求已成功处理。

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

关于c# - 强制从 WCF 服务引发 EndpointNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31935133/

相关文章:

javascript - 具有多个 Web 表单的 jQuery 选项卡

C# (500) 内部服务器错误覆盖原始异常

wcf - 无法在工作组模式下使用 WCF 从远程事务私有(private)队列中读取(可以使用 System.Messaging !)

.net - 您能否在不弄乱您的 app.config 的情况下设置 WCF 服务引用?

c# - 使用 Javascript 进行 WCF 身份验证

c# - 为什么这个字节结构反序列化单元测试失败?

c# - C# 函数中的 SQL COALESCE UPDATE

c# - 如何解决数据集错误 - 数据集不支持 'union' 或 'list' 作为 simpleType

c# - WCF:客户端配置中的契约(Contract) 'X' 与服务契约(Contract)中的名称不匹配

c# - 如何在同一台机器上打开 2 个命名管道?