首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF服务实现应该如何在不耦合到FaultContract的情况下处理错误/错误

WCF服务实现应该如何在不耦合到FaultContract的情况下处理错误/错误
EN

Stack Overflow用户
提问于 2010-09-25 01:34:00
回答 2查看 1.8K关注 0票数 0

我理解WCF中的错误契约的概念,但它们似乎与WCF和SOAP紧密耦合。我已经创建了一组独立于约定定义的服务,这些实现可以以多种方式使用,而不仅仅是WCF/SOAP。例如,如果我想创建一个RESTful服务,或者只是直接从应用程序使用服务实现。

但是现在我正在处理错误,似乎只要我在服务代码中引入FaultContract和FaultException,我现在就与SOAP服务紧密绑定在一起。在我的例子中,SOAP是现在的目标连接格式,所以我想产生一个SOAP错误。

人们在WCF中使用什么方法来产生SOAP错误,而不是将实现耦合到FaultContract?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-25 03:51:32

为了将错误处理与您的服务实现分离,让您的服务实现IErrorHandler。这允许您在服务代码中抛出标准的.NET异常。IErrorHandler行为将它们转换为服务级别的SOAP错误。

网上有很多这样的例子。我最喜欢的是here,因为我实际上在错误操作上犯了同样的错误,他指出了如何修复。

票数 1
EN

Stack Overflow用户

发布于 2010-09-25 03:31:11

如果您想抛出预期的异常,请在操作中使用FaultContract。您将获得一些在操作中使用的小FaultContracts集。当您需要添加非SOAP端点时,您可以在自定义端点行为中使用IErrorHandler实现,并将抛出的FaultExceptions转换为所需的格式。你有一些关于Here的例子。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3789556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档