2013-02-07 103 views
0

我們都知道Visual Studio提供了一個WebReference,它實際上生成一個代理類,它定義了表示暴露的Web服務XML的實際方法的方法。Visual Studio如何創建WebService客戶端

但任何人都知道它是如何做到這一點?在那之後使用了哪個庫?

回答

0

svcutil.exe的

它可以通過Visual Studio命令提示符方便地訪問。有關使用情況,請參見MSDN link

就我個人而言,我用它來設置企業服務的一些測試工具。

+0

非常感謝卡梅隆。我已經創建了一個web服務客戶端。我在這裏玩的是哪些API在後臺使用。它應該使用一些SOAP API。任何想法呢? – user001

+0

我認爲這取決於如何配置服務端點(Net TCP,Basic HTTP等)。甚至可以使用JSON進行WCF對話;-)。 – cameronjchurch

+0

那麼它使用基本的HTTP – user001

0

我使用JetBrains DotPeek發現了這些信息。

我將SvcUtil.exe加載到DotPeek中,然後環顧四周。

在回答什麼API是用它來,還有什麼可以做多種選擇,但我看着ExportServiceContracts選項,看來使用

  1. 反思從組件拉類型。
  2. 然後它使用System.ServiceModel.Description數據類型來獲取ServiceContract信息。
  3. 然後它使用System.ServiceModel.Description名稱空間的MetadataExporter將其導出到它在WebReference文件夾中創建的各種文件中。

希望這給你一個關於如何識別發生了什麼的起始位置。當我試圖理解框架和各種其他工具時,我發現DotPeek是無價的。當然,還有一些可以使用的其他Dissassembly工具。