暴露元資料交換終結點
wcf中的元資料是精確描述如何與服務通訊的訊息。客戶端可以向乙個執行的服務請求元資料來了解它們要求的終結點和訊息格式。在設計時,客戶端傳送由ws-metadataexchange 標準定義的訊息並接收返回的wsdl。wsdl可以被客戶端用來定義乙個將要用來在執行時與服務通訊的**類和配置檔案。1.4顯示了這個交流過程。
預設情況下,wcf服務不暴露mex終結點。這意味著沒有人能查詢到這個服務並知曉如何與它通訊。不知道位址,繫結和契約,與服務通訊是非常困難的,除非服務被記錄到登錄檔中。幸運的是,wcf讓暴露mex終結點變得非常容易以至於客戶端可以與服務端順暢的通訊。mex終結點可以通過**或者配置檔案暴露。
列表1.4顯示了在乙個服務中暴露乙個mex終結點所必需的**。這個例子在很多方面都對列表1.1中的例子進行了擴充套件。首先,乙個行為(imetadataexchange)被新增到服務中來指導wcf包含mex契約。其次,乙個位址是"mex",繫結是http 協議,契約是 imetadataexchange 的終結點被新增到服務中。因為這個位址是作為乙個相對位址,服務的基位址要放在頭部,所以完整的位址是 http://localhost:8000/essentialwcf/mex .注意服務中的行為也被改動去使能http get 功能。這不是必須的但是可以允許使用者通過瀏覽器訪問mex終結點。
listing 1.4 在**中暴露服務中的mex終結點
using system;
using system.servicemodel;
using system.servicemodel.description;
namespace essentialwcf
public class stockservice : istockservice
}public class service}}
如果你選擇在配置檔案中設定終結點而不是在**中,你需要在配置檔案中暴露mex終結點。列表1.5 如果修改列表1.3中的配置檔案來暴露mex終結點。乙個mex終結點被新增到服務中而且乙個服務行為被新增以便於mex終結點可以通過http來訪問。
listing 1.5 使用配置檔案暴露服務的mex終結點
WCF 第一章 基礎 暴露元資料交換節點
wcf中的元資料是精確描述如何與服務通訊的訊息。客戶端可以向乙個執行的服務請求元資料來了解它們要求的終結點和訊息格式。在設計時,客戶端傳送由ws metadataexchange 標準定義的訊息並接收返回的wsdl。wsdl可以被客戶端用來定義乙個將要用來在執行時與服務通訊的 類和配置檔案。1.4顯...
發布WCF元資料
windows communication foundation wcf 服務通過發布乙個或多個元資料終結點來發布元資料。發布服務元資料之後,可以通過標準協議 如 ws metadataexchange mex 和 http get 請求 來使用該元資料。元資料終結點類似於其他服務終結點,因為它們都...
在WCF中獲取服務元資料資訊
所謂獲取wcf的服務元資料 metadata 歸根結點,實際上就是獲取服務的終結點 endpoint 的資訊,這是服務公開在外的資料資訊,包括address binding與contract,也就是所謂的abcs。juval l wy在 programming wcf services 一書中,用生...