WCF编码规范相关知识详解

开发 开发工具
我们在这篇文章中为大家介绍的WCF编码规范的相关内容主要包括其的操作与调用方面。希望大家可以以此为参考对象,在学习过程中获得帮助。

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

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

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

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

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

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

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

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

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

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

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

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

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

a、void返回类型

b、没有out参数

c、标记为单向操作

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

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

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

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

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

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

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

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

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

2010-03-01 16:31:58

WCF实现SOA

2009-12-21 17:05:59

WCF自托管宿主

2010-02-26 14:39:27

WCF服务寄宿

2010-02-25 13:54:48

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-07 18:33:31

WCF Service

2009-12-22 16:03:03

WCF异常

2009-12-08 16:42:48

WCF Service

2009-12-07 15:02:46

WCF学习

2009-12-30 10:21:36

.NET 4.0

2018-08-10 07:58:43

IPv6NATIPv4

2020-11-05 10:20:54

前端编码规范安全漏洞

2015-03-18 09:34:47

程序员编码规范

2010-02-22 17:58:06

WCF异步上传
点赞
收藏

51CTO技术栈公众号