wcf入门(10)——异常回馈

本文探讨了WCF服务如何回馈未指定异常,通过修改服务接口和操作协定,展示了如何在客户端捕获并处理这些异常。同时强调了处理未指定异常与指定异常的相似性,以及不能应用于OneWay操作的问题。提供了相关文档链接和作者博客供进一步阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文demo已上传至github:xinyuehtx/WCFdemo

这个博客会介绍如何设置服务的异常回馈


在上一篇博客中介绍了wcf入门(9)——异常处理机制_wcf,c#_黄腾霄的博客-优快云博客如何使用错误协定回馈指定异常,但是往往会存在部分异常是非预期的。这一篇会介绍如何使用服务行为回馈未指定异常

回馈未指定异常

这里我们对上一个例子进行一些修改

首先服务接口删除错误协定

在这里插入图片描述

在服务实现上,设置IncludeExceptionDetailInFaultsTrue。(如果只期望在调试阶段回馈异常,可以使用ServiceDebugBehavior.IncludeExceptionDetailInFaults代替)

并且在操作协定实现上直接抛出异常

在这里插入图片描述

在客户端我们这次改为捕捉FaultException

在这里插入图片描述

我们在客户端抓到了异常,并且在Detail属性中找到的服务操作实际发生的异常

在这里插入图片描述

注意

这个例子中处理未指定异常和上一篇博客wcf入门(9)——异常处理机制_wcf,c#_黄腾霄的博客-优快云博客中处理指定异常,原理是一致的。

所以问题也是一致的,不能处理OneWay

小结

我们研究了WCF服务的IncludeExceptionDetailInFaults,其特点有

  • 可以将服务端的指定错误回馈客户端,不需要显示指定类型
  • 可以配置debug模式
  • 不能处理单向操作

参考链接:


本文会经常更新,请阅读个人博客原文: https://xinyuehtx.github.io/ ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值