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

揭秘四種行為WCF接口使用

開發(fā) 后端
文章主要介紹了WCF的四種行為:服務行為、終結點行為、契約行為和操作行為,還介紹了這四種行為下的四個WCF接口。

接口是實現項目的若耦合的,是程序員***用的,WCF有四個常見的接口,下面我們就來詳細的看看。WCF提供了四種類型的行為:服務行為、終結點行為、契約行為和操作行為。這四種行為分別定義了四個WCF接口:IServiceBehavior,IEndpointBehavior,IContractBehavior以及IOperationBehavior。

#T#是四個不同的WCF接口,但它們的接口方法卻基本相同,分別為AddBindingParameters(),ApplyClientBehavior()以及ApplyDispatchBehavior()。注意,IServiceBehavior由于只能作用在服務端,因此并不包含ApplyClientBehavior()方法。我們可以定義自己的類實現這些WCF接口,但需要注意幾點:
1、行為的作用范圍,可以用如下表格表示:
2、可以利用自定義特性的方式添加擴展的服務行為、契約行為和操作行為,但不能添加終結點行為;可以利用配置文件添加擴展服務行為和終結點行為,但不能添加契約行為和操作行為。但這些擴展的行為都可以通過ServiceDescription添加。

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

  1. [AttributeUsage(AttributeTargets.Class|AttributeTargets.Interface)]  
  2. publicclassMyServiceBehavior:Attribute,IServiceBehavior...  
  3. [MyServiceBehavior]  
  4. publicinterfaceIService... 

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

  1. publicclassMyBehaviorExtensionElement:BehaviorExtensionElement  
  2. {  
  3. publicMyBehaviorExtensionElement(){}  
  4. publicoverrideTypeBehaviorType  
  5. {  
  6. get{returntypeof(MyServiceBehavior);}  
  7. }  
  8.  
  9. protectedoverrideobjectCreateBehavior()  
  10. {  
  11. returnnewMyServiceBehavior();  
  12. }  
  13. }  

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

  1. [ConfigurationProperty("providerName",IsRequired=true)]  
  2. publicvirtualstringProviderName  
  3. {  
  4. get  
  5. {  
  6. returnthis["ProviderName"]asstring;  
  7. }  
  8. set  
  9. {  
  10. this["ProviderName"]=value;  
  11. }  

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

  1. <configuration> 
  2. <system.serviceModel> 
  3. <services> 
  4. <servicenameservicename="MessageInspectorDemo.Calculator"> 
  5. <endpointbehaviorConfigurationendpointbehaviorConfiguration="messageInspectorBehavior" 
  6. address="http://localhost:801/Calculator" 
  7. binding="basicHttpBinding" 
  8. contract="MessageInspectorDemo.ICalculator"/> 
  9. </service> 
  10. </services> 
  11. <behaviors> 
  12. <serviceBehaviors> 
  13. <behaviornamebehaviorname="messageInspectorBehavior"> 
  14. <myBehaviorExtensionElementproviderNamemyBehaviorExtensionElementproviderName="Test"/> 
  15. </behavior> 
  16. </serviceBehaviors> 
  17. </behaviors> 
  18. <extensions> 
  19. <behaviorExtensions> 
  20. <addnameaddname="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>對應。

責任編輯:田樹 來源: 博客
相關推薦

2009-11-05 11:05:19

WCF服務合同

2009-11-06 13:23:27

WCF模式

2021-10-24 08:37:18

網絡監(jiān)控網絡架構網絡

2022-06-10 08:01:17

ReduxReact

2024-06-24 01:00:00

2024-08-29 09:01:39

2010-08-05 13:44:12

Flex布局

2011-11-24 16:34:39

Java

2013-10-17 09:25:52

2023-11-27 13:42:00

消息隊列RocketMQ

2019-10-24 07:42:28

Java引用GC

2017-07-06 15:40:19

DevOps核心能力

2022-08-01 07:56:23

React Hook開發(fā)組件

2012-09-11 09:55:26

編程HTML5編程能力

2014-12-25 09:41:15

Android加載方式

2021-12-22 09:34:01

Golagn配置方式

2011-03-16 09:05:53

NATiptables

2009-12-09 11:03:45

安裝Linux

2013-07-29 10:10:40

TCP協(xié)議TCP定時器TCP

2009-11-06 15:47:17

WCF Windows
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看一级视频 | 中文字幕av中文字幕 | 综合久久av | 成人做爰999| 日韩成人免费视频 | 一级毛片视频免费观看 | 一区二区三区免费 | 国产一区二区三区视频 | 嫩草视频网站 | 91精品久久久 | 国产91丝袜在线播放 | 韩日免费视频 | 99精品视频免费在线观看 | 四虎成人精品永久免费av九九 | 欧美国产日韩一区二区三区 | 最新国产在线 | 国产精品一二三区 | 亚洲综合色自拍一区 | 蜜月aⅴ国产精品 | www久久久| 欧美自拍日韩 | 国产精品视频免费看 | 国产精品久久久久不卡 | 美女视频h | 欧美一区二区在线观看 | 精品国产不卡一区二区三区 | h视频在线播放 | 激情a| 91久久| 男女羞羞视频网站 | 色男人天堂av | av免费网站在线观看 | 日日淫| 国产精品美女久久久久aⅴ国产馆 | 欧美国产一区二区 | 毛片一区二区三区 | 国产一区2区| 日韩欧美在 | 在线观看视频一区二区三区 | 亚洲精品一区二三区不卡 | 国产一区二区三区免费观看视频 |