专栏首页黄腾霄的博客2019-1-29-wcf入门(9)

2019-1-29-wcf入门(9)

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

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


多进程之间调试,或者是客户端/服务器联调,很麻烦的一点是出了异常如何定位?

是客户端问题,还是服务端问题,抑或是信道问题?

这时候通过异常回馈将服务端发生的异常信息反馈给客户端就显得很重要。

错误协定(FaultContract)

服务操作可以标记错误协定,表明这个方法可能会出现指定错误。

示例中我们为SayHello方法指定了异常协定,表明可能会抛出详情信息为ServiceFault的异常。

ServiceFault是一个通过数据协定的标记的可序列化的类型。这里我们通过它将方法中的异常,和方法名称做了封装。

在服务实现中,我们通过抛出FaultException,将ServiceFault包装,传递给客户端

在客户端我们通过trycatch将异常打印出来

可以看到异常成功输出

错误协定风险

聪明的同学都已经注意到,我们刚刚试验的操作协定是请求答复模式的(同步方法)。那么对于单向模式会如何呢?

我们尝试将IsOneWay设置为True

抛出异常咯,单向方法不可以使用错误协定

小结

我们研究了WCF服务的错误协定,其特点有

  • 可以将服务端的指定错误回馈客户端,通过简单包装可以传递所有托管异常的基本信息
  • 协定传递的对象需要可以被数据协定序列化
  • 不能处理单向操作

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/wcf%E5%85%A5%E9%97%A8-9.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 2019-5-31-UML活动图

    在面向对象的软件分析及设计中,UML活动图描述了某项功能中控制和动作之间的传递关系。

    黄腾霄
  • 关于git pull或fetch失败

    本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E5%85%B3%E4%BA%8Egit-pull%E6%88...

    黄腾霄
  • 2019-5-30-UML基础

    在面向对象的软件分析及设计中,UML是一种产品、架构、开发、测试之间高效、可视化的沟通工具。UML的体系庞大,部分图形的学习曲线较为陡峭,导致在实际使用中容易出...

    黄腾霄
  • 刚三岁的拼多多赴美上市!活跃用户数近3亿,仅次于淘宝京东……

    美国东部时间6月29日(北京时间6月30日),刚创立三年的拼多多向美国证券交易委员会(SEC)正式提交招股书。招股书显示,拼多多计划通过IPO交易筹资最多10亿...

    昱良
  • 资本市场风起云涌,拼多多上市首日大涨40%,只因这三个原因?

    拼多多于北京时间7月26日晚正式登陆纳斯达克,备受关注,相较而言,同一天上市的另外两家中国互联网公司灿谷和极光大数据,却鲜有人提及。拼多多股价的强劲表现出乎很多...

    罗超频道
  • Asp.NETCore轻松学系列阅读指引目录

    耗时两个多月,坚持写这个入门系列文章,就是想给后来者更好更快的上手体验,这个系列可以说是从入门到进阶,适合没有 .NETCore 编程经验到小白同学,也适合从 ...

    梁规晓
  • 去他的互联网创业风口

    315晚会后,电子烟行业一地鸡毛,前一天这个行业还是风口,启信宝数据显示,从15年一直到18年,电子烟行业新增企业数量每年都有一千多家,2019年仅仅过去了三个...

    罗超频道
  • 番外篇:面试总结(1)

    谢伟
  • NIO之完成网络通信

      NIO被叫为 no-blocking io,其实是在网络这个层次中理解的,对于FileChannel来说一样是阻塞。对于网络通信是还有如下几个Channel

    用户4919348
  • BUF大事件:BlackHat2018拉斯维加斯举办;台积电三大工厂遭病毒感染

    本周BUF大事件还是为大家带来了新鲜有趣的安全新闻,世界信息安全行业的最高盛会BlackHat在拉斯维加斯举办;台积电三大工厂接连遭病毒感染,敲响工控安全的警钟...

    FB客服

扫码关注云+社区

领取腾讯云代金券