HOW TO:使用 Svcutil.exe 來下載中繼資料文件
您可以使用 Svcutil.exe 從正在執行的服務下載中繼資料,並將該中繼資料儲存至本機檔案。 對於 HTTP 和 HTTPS URL 配置,Svcutil.exe 會嘗試使用 WS-MetadataExchange 和 XML Web Service 探索 (英文) 來擷取中繼資料。 對於所有其他的 URL 配置,Svcutil.exe 只會使用 WS-MetadataExchange。
根據預設,Svcutil.exe 會使用定義於 MetadataExchangeBindings 類別的繫結。 若要設定用於 WS-MetadataExchange 的繫結,您必須在 Svcutil.exe 的組態檔 (svcutil.exe.config) 中定義用戶端端點,該端點會使用 IMetadataExchange 合約,而且使用名稱就是中繼資料端點位址的統一資源識別元 (URI) 配置。
注意: |
---|
當執行 Svcutil.exe 從公開兩份不同服務合約的某服務取得中繼資料時,若這些合約包含了同名的作業,Svcutil.exe 會顯示「無法從...取得中繼資料」錯誤。例如,假設該服務既公開具有 Get(Car c) 作業且名為 ICarService 的服務合約,又公開具有 Get(Book b) 作業且名為 IBookService 的服務合約。 為了解決此問題,請執行下列其中一項: |
使用 Svcutil.exe 來下載中繼資料
在下列位置找到 Svcutil.exe 工具:
C:\Program Files\Microsoft SDKs\Windows\v1.0.\bin
在命令提示字元中,使用下列格式啟動該工具。
svcutil.exe /t:metadata <url>* | <epr>
您必須指定 /t:metadata 選項才能下載中繼資料。 否則,便會產生用戶端程式碼與組態。
<url> 引數係指定會提供中繼資料之服務端點的 URL,或是線上裝載之中繼資料文件的 URL。 <epr> 引數會指定 XML 檔案的路徑,該檔案包含支援 WS-MetadataExchange 之服務端點的 WS-Addressing EndpointAddress。
如需使用這項工具來下載中繼資料的其他選項,請參閱 ServiceModel 中繼資料公用程式工具 (Svcutil.exe)。
範例
下列命令會從正在執行的服務下載中繼資料文件。
svcutil /t:metadata http://service/metadataEndpoint