WCF编码规范相关知识详解

对于大多数的开发人员来说,在工作需要的情况下,需要掌握一两个比较实用的开发工具。而WCF这样一款功能强大的开发工具就是其中一个重要的选择。在这里我们可以先来了解一下WCF编码规范,以方便大家学习这一开发工具的应用。#t#

1、不要将单向调用设置为异步调用

2、不要将单向调用设置为并发调用

3、单向操作不应该包含异常

4、为单向调用启用可靠性。对于单向调用而言,使用有序传递属于可选项

5、避免在会话服务中定义单向操作。如果定义了,则应将它定义为终止操作

 
 
 
  1. [ServiceContract(SessionModeSessionMode=SessionMode.Required)]  
  2. interface IOrderManager  
  3. {  
  4. [OperationContract]  
  5. void SetCustomerId(int customerId);  
  6. [OperationContract(IsInitiating=false)]  
  7. void AddItem(int itemId);  
  8. [OperationContract(IsInitiating=false)]   
  9. decimal GetTotal();  
  10. [OperationContract(IsOneWay=true,IsInitiating=falting,
    IsTerminating=true)]  
  11. void ProcessOrders()   

6、为服务端的回调契约取名时,应使用服务契约名加上Callback后缀:

 
 
 
  1. interfaxe IMyContractCallback  
  2. {...}  
  3. [ServiceContract(CallbackContract=typeof(IMyContractCallback))]  
  4. interface IMyContract  
  5. {...} 

7、尽量将回调操作标记为单向

8、只为回调使用回调契约

9、避免在相同的回调契约中将常规的回调与事件混为一谈

10、在WCF编码规范中,事件操作的设计应遵循如下规范:

a、void返回类型

b、没有out参数

c、标记为单向操作

11、避免在事件管理中使用原来的回调契约,而应该使用发布-订阅框架

12、避免为回调显式地定义创建(Setup)方法和销毁(Teardown)方法

 
 
 
  1. [ServiceContract(CallbackContract=typeof(IMyContractCallback))]  
  2. interface IMyContract  
  3. {  
  4. [OperationContract]  
  5. void DoSomething();  
  6. [OperationContract]  
  7. void Connect();  
  8. [OperationContract]  
  9. void Disconnect();  
  10. }  
  11. interface IMyContractCallback  
  12. {...} 

13、使用类型安全的DuplexClientBase,而不是DuplexClientBase

14、使用类型安全的DuplexChannelFactory,而不是DuplexChannelFactory

15、调试在局域网部署基于WSDualHttpBinding绑定的回调时,应该使用CallbackBaseAddressBehaviorAttribute特性,并将CallbackPort设置为0:

 
 
 
  1. [CallbackBaseAddressBehavior(CallbackPort=0)]  
  2. class MyClient:IMyContrackBack  
  3. {...} 

这就是我们为大家介绍的有关WCF编码规范的一些简要内容。

当前文章:WCF编码规范相关知识详解
分享URL:http://www.shufengxianlan.com/qtweb/news26/360576.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联