上面討論了如何建立
web服務,接下來就討論如何使用它們。為此需要在**中生成乙個知道如何與給定
web服務進行通訊的**類。這樣,**中對
web服務進行的任何呼叫都要通過這個**類,從表面看,這個**類就等同於
web服務,**也會認為我們有了
web服務的本地副本。而實際的情況是有許多
通訊工作在進行,只是我們感覺不到其中的細節。有兩種方式可以完成這項任務:第一,可以使用
wsdl.exe
命令列工具;第二,可以使用
vs.net
中的add web reference
選單選項。
在命令列上使用
wsdl.exe
時,它會根據web
服務的wsdl
描述生成乙個包含**類的
.cs檔案。使用
web服務的
url來指定該檔案,例如:
這樣就會在
service1.cs
檔案中為上一小節中的示例生成乙個**類。這個**類將以
web服務命名,在這個示例中就是
service1
,該**類包含一些方法,那些方法將可以呼叫相同名稱的服務方法。在使用這個類時,只需把所生成的
.cs檔案新增到專案中,使用下面的**就可以了:
service1 myservice = new service1();
string result = myservice.canwefixit();
預設狀態下,生成的類將放在根命名空間中,因此不需要使用
using
語句,但是,可以使用
wsdl.exe
命令列選項
/n:指定乙個不同的命名空間。
這項技術按說應該不錯了,但是,如果服務正處於開發或處於連續變動中,就比較費事了。當然,為了在每次編譯之前自動更新所生成的**類,這項技術可以用專案的構建選項來執行,但是我們有更好的方法。
下面在乙個新的
web應用程式
pcwebclient1
中,為上一小節中的示例建立客戶,來闡明這個更好的方法。現在建立這個新專案,在生成的
.aspx
頁面中,用下面的**替換現有的
form
宣告:
接下來將把單擊按鈕事件處理程式與
web服務繫結起來。首先需要在專案中新增對
web服務的引用。其方法是:右擊
solution explorer
中的新客戶專案,選擇
add web reference
選項。然後,在出現的視窗中鍵入
web服務檔案
service1.a**x
的url
,或者使用本地機器鏈結中的
web服務,自動查詢它,如圖
26-3
所示。
圖26-3
接著,可以使用
add reference
按鈕新增引用。但應先把
web引用的預設內容從
localhost
改為mywebservice
。現在單擊
add reference
按鈕,在
solution explorer
中把mywebservice
新增到專案的
web references
部分,在
solution explorer
中顯示隱藏的檔案時,可以看到檔案
reference.map
、reference.cs
、service1.disco
和service1.wsdl
已新增到專案中。
web引用名稱
mywebservice
也是使用**類時需要引用的命名空間,在
webform1.aspx.cs
的**中新增下面的
using
語句:
using pcswebclient1.mywebservice;
現在就可以在類中使用服務了,而不必提供服務的完全限定名稱。
使用下面的**把事件處理程式新增給窗體上的按鈕
(雙擊該按鈕):
private void triggerbutton_click(object sender, system.eventargs e)
執行應用程式並且單擊按鈕,瀏覽器視窗中將顯示
canwefixit()
的執行結果。
以後這個
web服務也許會改變,但是,使用這個方法,可以簡單地右擊
server explorer
中的web reference
資料夾,並選擇
update web reference
,生成乙個新的**類,以供使用。
Web服務快速使用
在 常用的web服務收集 http blog.csdn.net kingwolfofsky archive 2010 04 10 5470780.aspx 一文中收集了相關的web服務,本文用乙個簡單的例子來說明如何使用web服務。然後右鍵單擊解決方案,選擇 新增web引用 如下圖 然後在彈出的對話...
簡單使用web服務
web服務是使各個組織任意數量的程序之間能夠以平台無關和語言無關的方式進行無縫鏈結。按w3c組織的定義,web服務是通過統一資源標識uri uniform resource identifiers 標識的軟體系統,它的共用介面和繫結用xml來定義和描述。web service的定義能夠被其它的軟體系...
使用WCF建立Web服務
learn wcf service basic wcf是使用託管 建立和執行面向服務 service oriented 應用程式的統一框架。它使得開發者能夠建立乙個跨平台的 安全 可信賴 事務性的解決方案,且能與已有系統相容協作。wcf是微軟分布式應用程式開發的集大成者,它整合了 net 平台下所有...