WCF服务编程设计规范(4):操作与错误设计

WCF服务编程设计规范(4):操作与错误设计。主要包含服务操作与调用、错误设计规范。中英对照。欢迎留言交流。下一节会介绍事务、并发管理和队列服务的内容。

Operations and Calls

操作与调用

1. Do not treat one-way calls as asynchronous calls.

不要把单向调用作为异步调用

2. Do not treat one-way calls as concurrent calls.

不要把单向调用作为并发调用

3. Expect exceptions from a one-way operation.

单向操作也应该返回异常

4. Enable reliability even on one-way calls. Use of ordered delivery is optional for one way calls.

即使当单向调用的时候,也要启用可靠性。单向调用不必使用有序传递。

5. Avoid one-way operations on a sessionful service. If used, make it the terminating operation:

避免在会话服务里使用单向调用。如果用到,作为结束操作。

[ServiceContract(SessionMode = SessionMode.Required)]
interface IMyContract
{
[OperationContract]
void MyMethod1();
[OperationContract(IsOneWay = true,IsInitiating = false,IsTerminating =true)]
void MyMethod2();
}

6. Name the callback contract on the service side after the service contract name, suffixed by Callback:

回调操作最好使用服务契约的名字加后缀Callback

interface IMyContractCallback
{...}
[ServiceContract(CallbackContract = typeof(IMyContractCallback))]
interface IMyContract
{...}

7. Strive to mark callback operations as one-way.

回调操作标记会单向操作

时间: 2024-08-03 06:36:54

WCF服务编程设计规范(4):操作与错误设计的相关文章

WCF服务编程设计规范(2):序言、通用设计规范和要点

WCF服务编程设计规范(2):序言.通用设计规范和要点.主要翻译整理,序言.WCF设计通用设计规范.设计要点.并给出注释.注释内容于括号内.下一部分会整理,服务契约.数据契约.实例管理的内容.这里放出的是中英文对照版.方便大家学习.最后翻译结束,我会整理一个纯中文版放出.如有错误,请批评指正.欢迎留言交流. 序言 对于一次成功的产品交付来说,完整编码规范至关重要.这个规范可以帮助强化一些通用的最佳实践准则,并避免犯错,方便整个团队理解这些知识.通常,编码规范都是相当的繁琐,动辄上百页,内容详细叙

WCF服务编程设计规范(5):事务与并发管理设计

今天整理的内容是WCF事务和并发管理相关的设计规范.WCF服务编程设计规范(5):事务与并发管理设计.中英文对照,How to design Transactions and Concurrency Management in WCF Service. 下面一节是队列服务与安全. Transactions 事务 1. Never manage transactions directly. 不要直接管理事务 2. Apply the TransactionFlow attribute on the

WCF服务编程设计规范(6):队列服务、安全和服务总线

WCF服务编程设计规范(6):队列服务.安全和服务总线.本节整理队列服务(Queue Servuce).服务安全(Service Security)和服务总线(Service Bus)的设计规范. Queued Services 队列服务 1. On the client, always verify that the queue (and a dead-letter queue, when applicable) is available before calling the queued s

WCF服务编程设计规范(3):服务契约、数据契约和实例管理设计规范

WCF服务编程设计规范(3):服务契约.数据契约和实例管理设计规范.本节涵盖服务契约和数据契约设计规范,以及服务实例管理内容.中英对照版本,欢迎留言交流. Service Contracts 服务契约 1.Always apply the ServiceContract attribute on an interface, not a class: 把ServiceContract属性标记到契约接口上,而不是服务类上 //Avoid:避免 [ServiceContract] class MySe

WCF服务编程设计规范(1):最新版WCF Coding Standard介绍

<WCF4.0新特性体验>之后,新出一个系列<WCF服务编程设计规范>.这个系列主要关注的是如何设计WCF服务,以及WCF编码规范.这里我会翻译整理一些WCF服务设计相关的资料,分享给大家,并提供英文原版的下载. [1]序言: 这个系列应该实用性比较强,对于大多数使用到WCF的技术人员或者公司来说,都是比较重要的内容,我们需要一套完整的规范来指导服务的设计和编码.这可以作为大家学习WCF一个规范参考,另外如果公司制定WCF相关的编码和服务设计规范的时候,可以参考一下.我会在这个系列

《WCF服务编程》关于“队列服务”一个值得商榷的地方

今天写<WCF技术剖析(卷2)>关于"队列服务"部分,看了<WCF服务编程>相关的内容.里面介绍一个关于"终结点不能共享相同的消息队列"说法,个人觉得这值得商榷.撰写此文,希望对此征求大家的意见.[源代码从这里下载] 目录 一."终结点不能共享相同的消息队列" 二.实践出真知 三.为什么同一个服务的终结点可以共享相同的消息队列 四.为什么不同服务的终结点不能共享相同的终结点 一."终结点不能共享相同的消息队列&q

WCF服务部署到IIS上,然后通过web服务引用方式出现错误的解决办法

本文转载:http://www.cnblogs.com/shenba/archive/2012/01/06/2313932.html 昨天在用IIS部署一个WCF服务时,碰到了如下错误: 理解了文档内容,但无法进行处理. - WSDL 文档包含无法解析的链接. - 下载"http://admin-pc/IISHostService/Service1.svc?xsd=xsd0"时出错. - 基础连接已经关闭: 接收时发生错误. - 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的

WCF分布式开发步步为赢(4):WCF服务可靠性传输配置与编程开发

今天继续WCF分布式开发步步为赢系列的第4节:WCF服务可靠性传输配置与编程开发.这个章节,我们要介绍什么是WCF服务的可靠性传输,随便介绍网络协议的概念,Web Service为什么不支持可靠性传出,具体的WCF绑定协议和可靠性的关系,实现可靠性传输有什么方式,以及配置和开发的详细实现代码分析部分.[1]可靠性传输[2]配置方式实现可靠性传输[3]编程方式实现可靠性传输[4]编程实现必备有序传递[5]结果分析和总结. 下面进入正式的内容: [1]可靠性传输: [1.0]网络协议基础知识: 这里

WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发

今天我们继续WCF分布式开发步步为赢(3)WCF服务元数据交换.配置及编程开发的学习.经过前面两节的学习,我们了解WCF分布式开发的相关的基本的概念和自定义宿主托管服务的完整的开发和配置过程.今天我们来详细学习WCF服务元数据交换的相关内容.WCF服务元数据究竟是什么?为什么WCF服务要暴露元数据交换节点?这些和以前的Web Service有什么关系?WCF服务元数据交换的方式有那些?我们如何实现WCF服务元数据交换,本节我们会详细讲解.全文结构如下:[1]WCF服务元数据的基本概念.[2]WC