WCF编码规范相关知识详解

开发 开发工具
我们在这篇文章中为大家介绍的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<T,C>,而不是DuplexClientBase<T>

14、使用类型安全的DuplexChannelFactory<T,C>,而不是DuplexChannelFactory<T>

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

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

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

责任编辑:曹凯 来源: CSDN
相关推荐

2010-03-01 16:31:58

WCF实现SOA

2010-02-25 13:54:48

WCF安全参数

2010-02-26 14:39:27

WCF服务寄宿

2009-12-21 17:05:59

WCF自托管宿主

2010-01-05 09:35:07

.Net Framew

2010-02-26 13:26:55

WCF消息编码器

2010-02-26 09:50:57

WCF传输安全机制

2010-02-26 16:20:56

WCF程序事务

2010-02-24 17:36:33

WCF集合数据契约

2013-04-08 10:33:54

编码编码规范

2009-12-22 14:54:52

WCF安全

2009-12-08 16:42:48

WCF Service

2009-12-07 15:02:46

WCF学习

2009-12-07 18:33:31

WCF Service

2009-12-22 16:03:03

WCF异常

2018-08-10 07:58:43

IPv6NATIPv4

2009-12-30 10:21:36

.NET 4.0

2020-11-05 10:20:54

前端编码规范安全漏洞

2015-03-18 09:34:47

程序员编码规范

2011-08-18 17:05:16

Oracle数据库的服
点赞
收藏

51CTO技术栈公众号