web service是一個平臺獨立的,低耦合的,自包含的、基于可編程的web的應用程序,可使用開放的xml標準來描述、發布、發現、協調和配置這些應用程序,用于開發分布式的互操作的應用程序。
web service是一種可以接收從internet或者internet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。
webservice說明:
假設a是client端,b是webservice服務端,用戶通過http協議向服務器發送soap請求,webservice返回客戶端xml格式的數據。
客戶端由代理對象(proxy)負責與webservice的通信。所以在客戶端使用webservice,完全和使用一個本地對象是一樣的。
我們現在以一個簡單的實例來說明。
一、首先創建webservice工程,以vs2010為例,如果選擇.net framework 4,則找不到web服務應用程序,此時選擇asp.net空web應用程序。創建好空應用程序后,選擇該工程右鍵添加web服務。
創建好程序后默認會有一個hellworld函數
a) webservice1.asmx文件中的代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
namespace webapplication1 { [webservice(namespace = "http://tempuri.org/")] // webservice命名空間 [webservicebinding(conformsto = wsiprofiles.basicprofile1_1)] [system.componentmodel.toolboxitem(false)] // 若要允許使用 asp.net ajax 從腳本中調用此 web 服務,請取消對下行的注釋。 // [system.web.script.services.scriptservice] public class webservice1 : system.web.services.webservice { [webmethod] public string helloworld() { return "hello world"; } } } |
b) 運行程序,如圖1所示,列出了服務函數名,點擊要調用的函數如圖2所示,點擊調用后出現圖2第二張圖所示返回函數值。
圖1
圖2
二. 發布webservice到iis
打開iis管理器,選擇網站->右鍵添加網站
注:
(1)輸入網站名稱,應用池選擇,選擇程序運行需要的.net framework版本
(2)物理路徑,選擇上面webservice發布的程序的路徑
(3)綁定,修改端口,端口不能其他程序使用過
發布完成后訪問方式為:http://127.0.0.1:8666/service.asmx 或 http://localhost:8008/service.asmx如果出現下圖所示,說明發布成功。
三、asp.net調用web service
首先,打開vs2005,打開"文件-新建-網站",選擇"asp.net網站"。
然后先添加web引用,把webservice引到當前的工程里面。方法是:在資源管理器中點擊右鍵,選擇添加web 引用,調出對話框:
在url中填入,前面寫好的webservice運行后瀏覽器上面顯示的地址(即:webservice發布后的訪問地址 ),點擊"前往"按鈕,如上圖,就會顯示出所引用的webservice中可以調用的方法,然后點擊"添加引用",就將webservice引用到了當前的工程里面 ,如下圖,解決方案中會出現引進來的webservice文件
然后在后臺寫調用的代碼,調用之前和使用其它的對象一樣,
要先實例化,實例化的方法是
1
|
localhost.servicesoapclient service = new localhost.servicesoapclient(); |
然后就可以通過service來訪問webservice里面提供的方法了。
在運行該程序調用的時候,webservice程序還必須啟動,否則會報無法連接遠程服務器的異常。
這樣webservice的簡單創建、發布、調用就完成了,圖片來自網絡,懶得去截圖了。。。
以上這篇c# webservice創建、發布、調用的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/johnblogs/p/6144818.html