自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全面攻略WCF配置子節(jié)點(diǎn)

開發(fā) 后端
WCF配置子節(jié)點(diǎn)在文章中你會(huì)看到3子節(jié)點(diǎn):behaviors, serviceHostingEnvironment和serivces,都有詳細(xì)的介紹。

經(jīng)過長(zhǎng)時(shí)間學(xué)習(xí)WCF,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。如果熟悉WCF,你一定知道WCF配置是位于system.serviceModel節(jié)點(diǎn)下。你會(huì)看到3個(gè)子節(jié)點(diǎn):behaviors, serviceHostingEnvironment和serivces。

WCF配置子節(jié)點(diǎn)Services: 文件內(nèi)已經(jīng)有一個(gè)名為CatalogService的服務(wù),實(shí)現(xiàn)服務(wù)的類名一致。在Service節(jié)點(diǎn)下,你可以看到Endpoint,它包含了服務(wù)的 ABCs:Address(地址), binding (綁定)和contract (協(xié)定).
◆Address: 你會(huì)發(fā)現(xiàn)地址是空的 ,不必?fù)?dān)心,因?yàn)閟vc文件會(huì)作為基
◆Binding: webHttpBinding是WCF3.5提供的可以讓服務(wù)以REST方式發(fā)布的新型綁定。這個(gè)綁定有兩種模式,你可以通過特定的終結(jié)點(diǎn)行為來(lái)指定模式(通過設(shè)定behaviorConfiguration)
◆Contract: contract指定了WCF服務(wù)提供的功能。該屬性被設(shè)為一個(gè)已經(jīng)定義好的服務(wù)協(xié)定。要定義一個(gè)服務(wù)協(xié)定,你可以用ServiceContract修飾一個(gè)接口或者類。被ServiceContract修飾的接口或者類中,所有由OperationContract修飾的方法將被作為服務(wù)的操作暴露給客戶。一般來(lái)說(shuō)用接口做服務(wù)協(xié)定是更好的做法,這樣做的好處是分離了協(xié)定與具體實(shí)現(xiàn)。但在我們使用的模板中卻使用了類的方法,也就是說(shuō),接口是從類自動(dòng)推斷出來(lái)的(接口推斷)。
◆BehaviorConfiguration: 對(duì)于webHttpBinding, 你需要將該屬性設(shè)為一個(gè)擁有webHttp或enableWebScript子節(jié)點(diǎn)的終結(jié)點(diǎn)行為。

#T#F配置子節(jié)點(diǎn)Behaviors: 將behaviors加入到服務(wù)或者服務(wù)終結(jié)點(diǎn)的目的在于改變r(jià)untime的默認(rèn)行為或者加入定制的擴(kuò)展。你會(huì)發(fā)現(xiàn)我們使用的模板已經(jīng)聲明了一個(gè)名為 CatalogServiceAspNetAjaxBehavior的終結(jié)點(diǎn)行為. 該行為有一個(gè)enableWebScript 元素。enableWebScript是兩種可能的終結(jié)點(diǎn)行為之一,另一種就是webHttp。事實(shí)上enableWebScript是webHttp用來(lái)提供AJAX 功能(比如生成客戶端代理)的子類

WCF配置子節(jié)點(diǎn)ServiceHostingEnvironment: 跟ASP.Net運(yùn)行的WCF服務(wù)的默認(rèn)配置是讓兩者互不干擾 例如,ASP.NET runtime 不參與WCF請(qǐng)求的處理. WCF服務(wù)也不能使用ASP.NET context 和 session 這樣的功能. 而我們這里的配置是將aspNetCompatibilityEnabled 設(shè)為true, 在這種設(shè)置下WCF請(qǐng)求就會(huì)加到ASP.Net 的請(qǐng)求流水線里了。
*要使WCF支持REST,只要在該配置文件中注意最重要的兩點(diǎn):1)binding應(yīng)設(shè)為webHttpBinding 2) endpoint behavior要設(shè)定為webHttp或enableWebScript

  1. CatalogService.cs  
  2. [ServiceContract(Namespace = "")]  
  3. [AspNetCompatibilityRequirements(RequirementsMode =  
  4. AspNetCompatibilityRequirementsMode.Allowed)]  
  5. public class CatalogService  
  6. {  
  7. // Add [WebGet] attribute to use HTTP GET  
  8. [OperationContract]  
  9. public void DoWork()  
  10. {  
  11. // Add your operation implementation here  
  12. return;  
  13. }  
  14. // Add more operations here and mark them with [OperationContract]  

 在這里我們就真得做點(diǎn)兒事兒了。如果已經(jīng)讀了上面的內(nèi)容,你應(yīng)該已經(jīng)注意到我們已經(jīng)用接口推斷的方法定義了的服務(wù)協(xié)定,就是說(shuō)用ServiceContract屬性修飾了一個(gè)類而不是一個(gè)接口。無(wú)論如何,我們要開始做一點(diǎn)兒實(shí)現(xiàn)了。***件事兒是設(shè)定ServiceContract屬性的NameSpace參數(shù)。這一點(diǎn)非常重要。客戶端用于調(diào)用WCF服務(wù)的代理的名字空間就是從這里拿的。

責(zé)任編輯:田樹 來(lái)源: 博客
相關(guān)推薦

2009-11-06 14:33:27

WCF代理節(jié)點(diǎn)

2009-11-05 14:40:08

WCF KnownTy

2009-11-06 15:54:15

WCF異步調(diào)用

2009-12-22 10:16:54

WCF服務(wù)狀態(tài)

2009-11-12 14:37:26

ADO.NET結(jié)構(gòu)

2009-11-05 16:45:52

WCF可靠性傳輸

2009-12-22 15:02:40

WCF限流

2009-11-10 16:46:52

VB.NET指針應(yīng)用

2009-11-11 09:48:08

ADO.NET Com

2010-02-22 10:18:18

WCF配置文件

2009-12-22 11:14:38

WCF禁用安全配置

2011-01-21 09:32:57

LinuxSendmail

2009-12-08 17:56:16

WCF配置

2010-02-26 14:05:57

WCF通信方式

2023-07-28 14:48:00

數(shù)據(jù)分析效果

2009-12-08 17:34:25

WCF的配置

2010-02-25 18:42:04

WCF端點(diǎn)配置

2010-03-01 18:04:35

WCF配置綁定

2009-11-05 10:30:41

WCF Address

2010-02-25 13:40:17

WCF禁用安全配置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)