您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關WCF如何配置子節點的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
WCF配置子節點Services: 文件內已經有一個名為CatalogService的服務,實現服務的類名一致。在Service節點下,你可以看到Endpoint,它包含了服務的 ABCs:Address(地址), binding (綁定)和contract (協定).
◆Address: 你會發現地址是空的 ,不必擔心,因為svc文件會作為基
◆Binding: webHttpBinding是WCF3.5提供的可以讓服務以REST方式發布的新型綁定。這個綁定有兩種模式,你可以通過特定的終結點行為來指定模式(通過設定behaviorConfiguration)
◆Contract: contract指定了WCF服務提供的功能。該屬性被設為一個已經定義好的服務協定。要定義一個服務協定,你可以用ServiceContract修飾一個接口或者類。被ServiceContract修飾的接口或者類中,所有由OperationContract修飾的方法將被作為服務的操作暴露給客戶。一般來說用接口做服務協定是更好的做法,這樣做的好處是分離了協定與具體實現。但在我們使用的模板中卻使用了類的方法,也就是說,接口是從類自動推斷出來的(接口推斷)。
◆BehaviorConfiguration: 對于webHttpBinding, 你需要將該屬性設為一個擁有webHttp或enableWebScript子節點的終結點行為。
全面闡述WCF可靠性傳輸性能
編程實現WCF有序傳遞案例分析
關于WCF服務元數據交換編程揭密
三種WCF服務方式一點通
談談關于WCF事務屬性
F配置子節點Behaviors: 將behaviors加入到服務或者服務終結點的目的在于改變runtime的默認行為或者加入定制的擴展。你會發現我們使用的模板已經聲明了一個名為 CatalogServiceAspNetAjaxBehavior的終結點行為. 該行為有一個enableWebScript 元素。enableWebScript是兩種可能的終結點行為之一,另一種就是webHttp。事實上enableWebScript是webHttp用來提供AJAX 功能(比如生成客戶端代理)的子類
WCF配置子節點ServiceHostingEnvironment: 跟ASP.Net運行的WCF服務的默認配置是讓兩者互不干擾 例如,ASP.NET runtime 不參與WCF請求的處理. WCF服務也不能使用ASP.NET context 和 session 這樣的功能. 而我們這里的配置是將aspNetCompatibilityEnabled 設為true, 在這種設置下WCF請求就會加到ASP.Net 的請求流水線里了。
*要使WCF支持REST,只要在該配置文件中注意最重要的兩點:1)binding應設為webHttpBinding 2) endpoint behavior要設定為webHttp或enableWebScript
CatalogService.cs [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class CatalogService { // Add [WebGet] attribute to use HTTP GET [OperationContract] public void DoWork() { // Add your operation implementation here return; } // Add more operations here and mark them with [OperationContract] }
在這里我們就真得做點兒事兒了。如果已經讀了上面的內容,你應該已經注意到我們已經用接口推斷的方法定義了的服務協定,就是說用ServiceContract屬性修飾了一個類而不是一個接口。無論如何,我們要開始做一點兒實現了。***件事兒是設定ServiceContract屬性的NameSpace參數。這一點非常重要。客戶端用于調用WCF服務的代理的名字空間就是從這里拿的。
感謝各位的閱讀!關于“WCF如何配置子節點”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。