成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF行為類型基本概念簡述

開發(fā) 開發(fā)工具
WCF行為類型一般情況下會被分為四種,分別為服務行為,終結點行為,契約行為以及操作行為。我們將會針對這些類型做一個詳細介紹。

開發(fā)人員在應用WCF開發(fā)工具進行實際編程時,可以利用這一平臺打造一個安全性技巧的解決方案,幫助我們解決一些特定問題。下面,我們首先來看看有關WCF行為類型的相關介紹,方便大家學習。#t#

WCF行為類型總共可以分為四種:服務行為、終結點行為、契約行為和操作行為。 這四種行為分別定義了四個接口:IServiceBehavior,IEndpointBehavior,IContractBehavior以及 IOperationBehavior。雖然是四個不同的接口,但它們的接口方法卻基本相同,分別為 AddBindingParameters(),ApplyClientBehavior()以及ApplyDispatchBehavior()。

注 意,IServiceBehavior由于只能作用在服務端,因此并不包含ApplyClientBehavior()方法。

我們可以定義自己的類實現這些WCF行為類型的接口,但需要注意幾點:

1、行為的作用范圍,可以用如下表格表示:

2、可以利用自定義特性的方式添加擴展的服務行為、契約行為和操作行為,但不能添加終結點行為;可以利用配置文件添加擴展服務行為和終結點行為,但不能添加契約行為和操作行為。但這些擴展的行為都可以通過ServiceDescription添加。

利用特性添加行為,意味著我們在定義自己的擴展行為時,可以將其派生自Attribute類,然后以特性方式添加。例如:

  1. [AttributeUsage(AttributeTargets.Class|AttributeTargets.Interface)]  
  2. public class MyServiceBehavior:Attribute, IServiceBehavior...  
  3. [MyServiceBehavior]  
  4. public interface IService...  

如果以配置文件的方式添加WCF行為類型,則必須定義一個類繼承自BehaviorExtensionElement(屬于命名空間System.ServiceModel.Configuration),然后重寫屬性BehaviorType以及 CreateBehavior()方法。BehaviorType屬性返回的是擴展行為的類型,而CreateBehavior()方法則負責創(chuàng)建該擴展 行為的對象實例:

  1. public class MyBehaviorExtensionElement:BehaviorExtensionElement  
  2. {  
  3. public MyBehaviorExtensionElement() { }  
  4. public override Type BehaviorType  
  5. {  
  6. get { return typeof(MyServiceBehavior); }  
  7. }  
  8. protected override object CreateBehavior()  
  9. {  
  10. return new MyServiceBehavior();  
  11. }  
  12. }  

如果配置的Element添加了新的屬性,則需要為新增的屬性應用ConfigurationPropertyAttribute,例如:
 

  1. [ConfigurationProperty("providerName",IsRequired = true)]  
  2. public virtual string ProviderName  
  3. {  
  4. get  
  5. {  
  6. return this["ProviderName"] as string;  
  7. }  
  8. set  
  9. {  
  10. this["ProviderName"] = value;  
  11. }  
  12. }  

配置文件中的配置方法如下所示:
 

  1. < configuration> 
  2. < system.serviceModel>   
  3. < services> 
  4. < service name="MessageInspectorDemo.Calculator"> 
  5. < endpoint behaviorConfiguration="messageInspectorBehavior" 
  6. address="http://localhost:801/Calculator"   
  7. binding="basicHttpBinding"   
  8. contract="MessageInspectorDemo.ICalculator"/> 
  9. < /service> 
  10. < /services> 
  11. < behaviors> 
  12. < serviceBehaviors> 
  13. < behavior name="messageInspectorBehavior"> 
  14. < myBehaviorExtensionElement providerName="Test"/> 
  15. < /behavior> 
  16. < /serviceBehaviors> 
  17. < /behaviors> 
  18. < extensions> 
  19. < behaviorExtensions> 
  20. < add name="myBehaviorExtensionElement" 
  21. type="MessageInspectorDemo.MyBehaviorExtensionElement,
     MessageInspectorDemo,
     Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    /> 
  22. < /behaviorExtensions> 
  23. < /extensions> 
  24. < /system.serviceModel> 
  25. < /configuration>  

注意,在< serviceBehaviors>一節(jié)中,< behavior>下的< myBehaviorExtensionElement>就是我們擴展的行為,providerName則是 MyBehaviorExtensionElement增加的屬性。如果擴展了IEndpointBehavior,則配置節(jié)的名稱為< endpointBehaviors>。< extensions>節(jié)負責添加自定義行為的擴展。其 中,< add>中的name值與< behavior>下 的< myBehaviorExtensionElement>對應。

在對WCF行為類型操作時,特別注意的是< extensions>下的 type值,必須是類型的full name。第一個逗點前的內容為完整的類型名(包括命名空間),第二部分為完整的命名空間。Version,Culture以及 PublicKeyToken也是缺一不可的。每個逗點后必須保留一個空格,否則無法正確添加擴展行為的配置。這與反射有關,但太容易讓人忽略這一小細節(jié)。希望微軟能在后來的版本中修訂這個瑕疵。

責任編輯:曹凱 來源: IT168
相關推薦

2010-03-02 13:14:38

WCF MSMQ隊列

2009-12-21 10:27:52

WCF基本概念

2010-02-23 16:32:29

WCF服務

2009-12-21 15:33:07

WCF集合元素

2010-03-01 18:04:35

WCF配置綁定

2010-02-24 17:17:04

WCF宿主環(huán)境

2010-03-01 16:25:07

WCF體系架構

2009-12-21 14:37:14

2010-03-01 16:41:04

WCF數據表

2010-03-02 16:22:31

WCF狀態(tài)應用

2009-12-21 16:52:02

WCF序列化

2009-12-22 10:16:54

WCF服務狀態(tài)

2010-02-25 14:46:31

2010-03-02 11:10:43

WCF標準終結點

2010-03-01 17:57:11

WCF緩存機制

2010-02-03 11:11:18

C++類型轉換

2011-03-28 11:05:17

ODBC

2010-03-03 15:10:49

第三方Python庫

2014-04-16 15:11:19

Spark

2009-03-20 11:46:10

MGCP協(xié)議網關
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产免费播放视频 | 黄色av网站在线观看 | 免费观看一级特黄欧美大片 | 亚洲一区在线播放 | 人妖一区 | 99在线视频观看 | 国产99热| 亚洲国产一区二区三区在线观看 | 国产91成人| 亚洲综合在线一区二区 | 欧美色a v| 精品久久久久久亚洲国产800 | 亚洲欧美日韩在线 | 国产情侣在线看 | 成人福利电影 | 国产日产欧产精品精品推荐蛮挑 | 嫩草一区二区三区 | 一区二区三区精品在线视频 | 91精品国产一区二区三区动漫 | 99热精品久久 | 91麻豆精品国产91久久久久久 | www国产亚洲精品 | 九七午夜剧场福利写真 | 欧美成人一区二区 | 久久久久久久久久久久久久av | 国产成人免费视频网站高清观看视频 | 亚洲综合大片69999 | 一区二区成人在线 | 国产jizz女人多喷水99 | 亚洲 欧美 另类 综合 偷拍 | 国产在线二区 | 国产午夜在线观看 | 国产精品美女久久久久aⅴ国产馆 | 日韩在线播放一区 | 男人天堂社区 | 成人水多啪啪片 | 国产真实精品久久二三区 | 午夜一区二区三区在线观看 | 一区二区视屏 | 亚洲一区中文字幕 | 成人免费一区二区三区牛牛 |