首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wcf-service中设置默认的faultcontract属性

如何在wcf-service中设置默认的faultcontract属性
EN

Stack Overflow用户
提问于 2011-09-16 16:35:02
回答 1查看 1.1K关注 0票数 3

有没有办法为wcf--faultcontract-class中的所有方法设置一个“默认”服务?喜欢

代码语言:javascript
复制
[ServiceContract]
[DefaultFaultContract(typof(MyServiceFault))]
class MyService
{
    [OperationContract]
    void DoWork();
}

而不是:

代码语言:javascript
复制
[ServiceContract]
public interface ICustomerService
{
    [OperationContract]
    [FaultContract(typeof(ServiceFault))]
    void DoWork();
}

我很感谢有"Step-By-Step“指南的链接。

EN

回答 1

Stack Overflow用户

发布于 2011-09-16 16:52:21

这可能不是做这件事的“正确”方法,但我刚刚在another question上发布了一个答案

This code might be usefull to you

它构建了一个代理,该代理捕获在调用实现特定接口的对象的成员时发生的所有异常。您可以在wpf通道上使用此功能。

代码语言:javascript
复制
IMyInterface myService = [...];
IMyInterface myExceptionLoggedService = ExceptionProxyGenerator.Generate<IMyInterface>(myService);
(myExceptionLoggedService  as IExceptionProxy).Error+=(sender,method,exception)=>{
   // do what you want on exception
};
// Use my service :
myExceptionLoggedService.MyOkFunction();// ok
myExceptionLoggedService.MyExceptionFunction();// calling the above delegate

你可以稍微重写一下这个类,使其具有你想要的行为(比如在出错时不重新抛出异常,返回null -if函数不会返回空-)

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

https://stackoverflow.com/questions/7442074

复制
相关文章

相似问题

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