首先點擊 vs菜單欄->工具 ,選擇 外部工具,
在彈出的窗口中點擊 添加,
然后在“標題”行中輸入"WSDL生成代理類",
"命令"行中輸入"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\wsdl.exe"(wsdl.exe文件的路徑),
"參數"行中輸入"/l:cs /out:",
單擊"初始目錄"行右邊的三角按鈕選擇"項目錄",
勾選"使用輸出窗口"和"提示輸入參數",然后確定保存。
再打開菜單"工具"可以看到多了一個"WSDL生成代理類"菜單,這時先選定一個存放生成的代理類的文件夾(必須位於並且包含於當前解決方案中),然后單擊"WSDL生成代理類"菜單,在彈出的對話框中 ,在"/l:cs /out:"后面空一格(必須空一格)再粘貼WebService文件的http地址如http://localhost:4478/UpdateService.asmx?wsdl,單擊"確定"看看發生了什么?是的,輸出窗口會顯示生成了一個類及其存放的位置,看看是不是你選定的文件夾。
附wsdl參數說明:
Microsoft(R) Web Services 描述語言實用工具 [Microsoft (R) .NET Framework, Version 4.0.30319.1] Copyright (C) Microsoft Corporation. All rights reserved. wsdl.exe - 使用 ASP.NET,根據 WSDL 協定文件、XSD 架構和 .discomap 發現文檔,為 Xml Web Services 客戶端和 Xml Web Services 生成 代碼的實用工具。此工具可以與 disco.exe 一起使用。 wsdl.exe <選項> <URL 或路徑> <URL 或路徑> ... - 選項 - <URL 或路徑> - 指向 WSDL 協定、XSD 架構或 .discomap 文檔的 URL 或路徑。 /nologo 取消顯示版權標志。 /language:<language> 用於生成的代理類的語言。請從“CS”、“VB”、“JS”、“VJS”、 “CPP”中選擇,或者為實現 System.CodeDom.Compiler.CodeDomProvider 的類提供一個完全限定的名稱。默認語言為“CS”(CSharp)。 縮寫形式為“/l:”。 /sharetypes 打開類型共享功能。此功能針對不同服務之間共享 的相同類型(命名空間、名稱和網絡簽名必須相同) 創建一個具有單一類型定義的代碼文件。 請使用 http:// URLs 作為命令行參數來引用 服務,或為本地文件創建一個 discomap 文檔。 /verbose 指定 /sharetypes 開關時顯示額外信息。 縮寫形式為“/v”。 /fields 生成字段而非屬性。縮寫形式為“/f”。 /order 為粒子成員生成顯式順序標識符。 /enableDataBinding 在所有生成的類型上實現 INotifyPropertyChanged 接口, 以啟用數據綁定。縮寫形式為“/edb”。 /namespace:<namespace> 生成的代理或模板的命名空間。默認命名空間 為全局命名空間。縮寫形式為“/n:”。 /out:<fileName|directoryPath> 生成的代理代碼的文件名或目錄路徑。默認文件名是從 服務名派生的。縮寫形式為“/o:”。 /protocol:<protocol> 重寫要實現的默認協議。請從“SOAP”、“SOAP12”、 “HttpGet”、“HttpPost”中選擇。 /username:<username> /password:<password> /domain:<domain> 連接到要求身份驗證的服務器時使用的憑據。 縮寫形式為“/u:”、“/p:”和“/d:”。 /proxy:<url> 用來處理 HTTP 請求的代理服務器的 URL。 默認為使用系統代理服務器設置。 /proxyusername:<username> /proxypassword:<password> /proxydomain:<domain> 連接到要求身份驗證的代理服務器時使用的憑據。 縮寫形式為“/pu:”、“/pp:”和“/pd:”。 /appsettingurlkey:<key> 在代碼生成中用來讀取 URL 屬性的 默認值的配置項。默認為不從配置 文件中讀取。縮寫形式為“/urlkey:”。 /appsettingbaseurl:<baseurl> 計算 URL 段時使用的基 URL。 還必須指定 appsettingurlkey 選項。URL 段是 從 appsettingbaseurl 計算 WSDL 文檔中的 URL 的相對 URL 的結果。縮寫形式為“/baseurl:”。 /parsableerrors 輸出錯誤,其格式與編譯器報告的格式類似。 - 高級 - /server 服務器開關已被否決。請改用 /serverInterface。 使用基於協定的 ASP.NET,為 Xml Web Services 實現 生成抽象類。默認情況下,生成客戶端代理 類。 /serverInterface 為 ASP.Net Web 服務的服務器端實現生成 接口。將為 wsdl 文檔中的每個綁定生成 一個接口。wsdl 單獨實現 wsdl 協定(實現 接口的類在類方法上不應包括下列任意一項: 更改 wsdl 協定的 Web 服務屬性或序列化 屬性)。縮寫形式為“/si”。 /parameters:<file> 從指定的 xml 文件讀取命令行選項。這樣可以 指定命令行中無法使用的選項,例如選擇 生成的異步編程模型類型。有關詳細信息, 請參閱工具文檔。縮寫形式為“/par:”。