溫馨提示×

溫馨提示×

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

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

WCF如何配置子節(jié)點

發(fā)布時間:2021-12-07 10:59:03 來源:億速云 閱讀:154 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關(guān)WCF如何配置子節(jié)點的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

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

  • 全面闡述WCF可靠性傳輸性能

  • 編程實現(xiàn)WCF有序傳遞案例分析

  • 關(guān)于WCF服務(wù)元數(shù)據(jù)交換編程揭密

  • 三種WCF服務(wù)方式一點通

  • 談?wù)勱P(guān)于WCF事務(wù)屬性

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

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

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

感謝各位的閱讀!關(guān)于“WCF如何配置子節(jié)點”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

wcf
AI