经验之谈WCF behaviors配置节

开发 后端
大家知道吗System.ServiceModel.ServiceBehaviorAttribute和 System.ServiceModel.OperationBehaviorAttribute是最常用的behavior ,这里详细的介绍如何使用WCF behaviors配置节。

学习WCF时,你可能会遇到WCF behaviors配置节问题,这里将介绍WCF behaviors配置节问题的解决方法,在这里拿出来和大家分享一下。当我们在定义一个实现了Service Contract的类时, binding和address信息是客户端必须知道的,否则无法调用该服务。然而,如果需要指定服务在执行方面的相关特性时,就必须定义服务的 WCF behaviors配置节。在WCF中,定义behavior就可以设置服务的运行时属性,甚至于通过自定义WCF behaviors配置节插入一些自定义类型。例如通过指定 ServiceMetadataBehavior,可以使WCF服务对外公布Metadata。配置如下:

  1. <behaviors> 
  2. <serviceBehaviors> 
  3. <behavior name="metadataSupport"> 
  4. <serviceMetadata httpGetEnabled="true" httpGetUrl=""/> 
  5. behavior> 
  6. <serviceBehaviors> 
  7. <behaviors> 

在 WCF中,behavior被定义为Attribute,其中,System.ServiceModel.ServiceBehaviorAttribute和 System.ServiceModel.OperationBehaviorAttribute是最常用的behavior。虽然,WCF behaviors配置节作为Attribute可以通过编程的方式直接施加到服务上,但出于灵活性的考虑,将behavior定义到配置文件中才是***的设计方式。

利用ServiceBehavior与OperationBehavior可以控制服务的如下属性:
#T#◆对象实例的生命周期;
◆并发与异步处理;
◆配置行为;
◆事务行为;
◆序列化行为;
◆元数据转换;
◆会话的生命周期;
◆地址过滤以及消息头的处理;
◆模拟(Impersonation);

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

  1. <behaviors> 
  2. <serviceBehaviors> 
  3. <behavior name="metadataSupport"> 
  4. <instanceContextMode httpGetEnabled="true" httpGetUrl=""/> 
  5. behavior> 
  6. <serviceBehaviors> 
  7. <behaviors> 
责任编辑:田树 来源: 博客
相关推荐

2009-11-09 17:06:38

WCF选择绑定

2010-03-02 17:48:35

WCF寻址报头

2009-12-23 10:07:57

学习WPF

2009-12-17 18:12:31

Ruby框架应用

2010-04-30 14:31:58

Unix系统

2009-12-09 16:58:03

PHP strtoti

2010-04-22 18:07:28

Aix系统维护

2009-11-02 15:16:07

VB.NET编程

2012-05-23 09:43:59

Linux升级经验

2009-11-16 15:32:05

PHP数组函数

2014-03-12 10:33:56

GitTortoiseGit

2010-07-26 15:36:59

CCNP

2009-06-16 08:49:51

2009-12-08 11:44:14

PHP获取随机数

2020-01-10 18:25:00

Go语言JavaScript编程语言

2012-07-06 15:31:29

Linux系统

2010-04-29 12:09:42

Unix服务器

2009-11-03 10:40:57

VB.NET Prot

2010-01-15 10:48:29

C++程序代码

2009-10-28 17:00:30

VB.NET数据库
点赞
收藏

51CTO技术栈公众号