Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47147
  • 博文数量: 11
  • 博客积分: 640
  • 博客等级: 上士
  • 技术积分: 175
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 23:19
文章分类
文章存档

2011年(1)

2008年(10)

我的朋友

分类: WINDOWS

2008-11-20 16:08:42

 

 

WCF配置文件意义

  我们都知道WCF是一种分布式开发的基础框架,定义服务客户端使用的是配置文件的方法。在开发其他语言程序的时候,我们都习惯直接用硬编程的方法,通过在代码中直接设置相关对象的属性来完成服务端与客户端的配置,但是这种方法不利于后期的更改和维护。配置文件给WCF带来了软件开发的灵活性,因此被频繁使用。

 

WCF服务端配置文件

  WCF配置文件包括服务端配置与客户端配置。两者略有不同。这里只总结一下服务端配置文件。

  服务端的配置文件主要包括endpointbindingbehavior的配置。一个标准的服务端配置文件内容与格式主要如下:

 

  
   
      
         
      

   

   
   定义一个或多个系统提供的binding元素,例如 --> 
   也可以是自定义的binding元素,如. -->
      
      例如元素. -->
      

   

   
   一个或多个系统提供的behavior元素. -->
      
      例如元素. -->
      

   

 

1.配置

配置节包含namebehaviorConfiguration属性。其中,name配置了实现Service Contract的类型名。类型名必须是完整地包含了命名空间和类型名。而behaviorConfiguration的配置值则与其后的配置节的内容有关。配置节的主体,其中,配置节包含了endpoint的三个组成部分:AddressBindingContract。由于具体的binding配置是在配置节中完成,因而,在中配置了bindingConfiguration属性,指向具体的binding配置。如下所示:

 


  
                 binding="netTcpBinding"
             bindingConfiguration="DuplexBinding"
             contract="BruceZhang.IHello" />
  

 

2.配置

 当我们在定义一个实现了Service Contract的类时, bindingaddress信息是客户端必须知道的,否则无法调用该服务。然而,如果需要指定服务在执行方面的相关特性时,就必须定义服务的behavior。在WCF中,定义behavior就可以设置服务的运行时属性,甚至于通过自定义behavior插入一些自定义类型。例如通过指定ServiceMetadataBehavior,可以使WCF服务对外公布Metadata。配置如下:

 


    
    
      
    
    

 

WCF中,behavior被定义为Attribute,其中,System.ServiceModel.ServiceBehaviorAttributeSystem.ServiceModel.OperationBehaviorAttribute是最常用的behavior。虽然,behavior作为Attribute可以通过编程的方式直接施加到服务上,但出于灵活性的考虑,将behavior定义到配置文件中才是最好的设计方式。
利用ServiceBehaviorOperationBehavior可以控制服务的如下属性:
1
 对象实例的生命周期;
2
 并发与异步处理;
3
 配置行为;
4
 事务行为;
5
 序列化行为;
6
 元数据转换;
7
 会话的生命周期;
8
 地址过滤以及消息头的处理;
9
 模拟(Impersonation);

例如,通过ServiceBehavior设置对象实例的生命周期:

 


    
    
      
    
    

 

资料参考:天极网论坛,中文IT技术网站,百度知道

 

 

阅读(2401) | 评论(0) | 转发(0) |
0

上一篇:WCF初学小结

下一篇:WCF之初识--杨植群

给主人留下些什么吧!~~