亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WCF接口怎么用

發布時間:2021-11-03 14:49:16 來源:億速云 閱讀:205 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“WCF接口怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“WCF接口怎么用”這篇文章吧。

WCF提供了四種類型的行為:服務行為、終結點行為、契約行為和操作行為。這四種行為分別定義了四個WCF接口:IServiceBehavior,IEndpointBehavior,IContractBehavior以及IOperationBehavior。

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

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

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

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

publicclassMyBehaviorExtensionElement:BehaviorExtensionElement  {  publicMyBehaviorExtensionElement(){}  publicoverrideTypeBehaviorType  {  get{returntypeof(MyServiceBehavior);}  }   protectedoverrideobjectCreateBehavior()  {  returnnewMyServiceBehavior();  }  }

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

[ConfigurationProperty("providerName",IsRequired=true)]  publicvirtualstringProviderName  {  get  {  returnthis["ProviderName"]asstring;  }  set  {  this["ProviderName"]=value;  }  }

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

<configuration> <system.serviceModel> <services> <servicenameservicename="MessageInspectorDemo.Calculator"> <endpointbehaviorConfigurationendpointbehaviorConfiguration="messageInspectorBehavior" address="http://localhost:801/Calculator" binding="basicHttpBinding" contract="MessageInspectorDemo.ICalculator"/> </service> </services> <behaviors> <serviceBehaviors> <behaviornamebehaviorname="messageInspectorBehavior"> <myBehaviorExtensionElementproviderNamemyBehaviorExtensionElementproviderName="Test"/> </behavior> </serviceBehaviors> </behaviors> <extensions> <behaviorExtensions> <addnameaddname="myBehaviorExtensionElement" type="MessageInspectorDemo.MyBehaviorExtensionElement,MessageInspectorDemo,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null"/> </behaviorExtensions> </extensions> </system.serviceModel> </configuration>

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

以上是“WCF接口怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wcf
AI

同心县| 丰原市| 剑川县| 南安市| 霍州市| 鄂托克旗| 财经| 莎车县| 聂拉木县| 祁阳县| 修水县| 二连浩特市| 赤水市| 新沂市| 怀集县| 吐鲁番市| 通化市| 广元市| 锡林浩特市| 武鸣县| 图木舒克市| 池州市| 大理市| 哈尔滨市| 平乡县| 锦州市| 合肥市| 绵竹市| 洪雅县| 玉林市| 老河口市| 南华县| 蕉岭县| 静乐县| 琼结县| 芦山县| 芮城县| 灵山县| 侯马市| 广昌县| 阳曲县|