国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NETC#創建WebService服務簡單的例子

2019-11-14 15:56:44
字體:
來源:轉載
供稿:網友

Web service是一個基于可編程的web的應用程序,用于開發分布式的互操作的應用程序,也是一種web服務

WebService的特性有以下幾點:

1.使用xml(標準通用標記語言)來作為數據交互的格式。

2.跨平臺性,因為使用XML所以只要本地應用可以連接網絡解析XML就可以實現數據交換,比如安卓、IOS、WindowsPhone等都可以實現對Web service的數據交互。

3.基于HTTP協議,直接跨越防火墻,通用型強;

下面使用Visual Studio 2013(其他VS版本亦是如此)來創建一個簡單Web service服務。

 

一、打開Visual Studio->文件->新建->網站

 

二、之后選擇asp.net空網站,再點擊“確定”

三、新建網站后你會看到解決方案管理器中看到一個web.config,待會我們可以通過配置這個文件來實現瀏覽器對WebService的遠程調用。現在,右鍵解決方案中的項目名添加一個WebService項目。

四、之后,你可以在項目模版中找到Web服務(ASMX),添加

五、創建之后在APP_Code文件夾中創建一個WebService.cs文件

在網站根目錄下會同時創建一個WebService.asmx文件

這兩個文件中WebService.cs負責邏輯部分,WebService.asmx提供服務部分。將來引用WebService服務時將直接引用WebService.asmx文件來調用WebService服務,服務的執行部分就是WebService.cs文件

現在打開WebService.cs文件來編輯邏輯部分實行一個簡單的《客戶端調用web服務實現一個簡單的加法運算,并返回以字符串給客戶端運算結果

 

 1 /* 2    Web.Services.cs文件 3 */ 4 using System; 5 using System.Collections.Generic; 6 using System.Linq; 7 using System.Web; 8 using System.Web.Services; 9 10 /// <summary>11 /// WebService 的摘要說明12 /// </summary>13 [WebService(Namespace = "http://tempuri.org/")]14 [WebServiceBinding(ConformsTo = Wsiprofiles.BasicPRofile1_1)]15 // 若要允許使用 ASP.NET Ajax 從腳本中調用此 Web 服務,請取消注釋以下行。 16 // [System.Web.Script.Services.ScriptService]17 public class WebService : System.Web.Services.WebService {18 19     public WebService () {20 21         //如果使用設計的組件,請取消注釋以下行 22         //InitializeComponent(); 23     }24 25     /// <summary>26     /// 方法上頭的[WebMethod]是聲明一個web服務方法,如果你想寫個方法能讓客戶端調用并返回結果就必須在方法上頭標注[WebMethod]27     /// 如果是只負責邏輯運算或私有方法,并不打算給客戶端結果,只給類方法內部調用就無需聲明[WebMethod]28     /// </summary>29     /// <param name="a"></param>30     /// <param name="b"></param>31     /// <returns>將運算結果轉換成字符串返回</returns>32     [WebMethod]33     public string HelloWorld(int a, int b) {34         int result = a + b;35         return result.ToString();36     }    37 }

 上面的代碼寫了一個基本的方法供遠程調用,將cs文件保存后,一個簡單的web服務就創建了!

下面我們啟動這個項目,用瀏覽器查看微軟為我們定義測試的調用頁面:

在這里我們可以看到我們寫的Hello方法可以調用了,我們單擊進入這個方法進入調用調試頁面:

輸入參數,我們寫的是一個簡單的加法運算,參數便是我們寫的HelloWorld方法的參數a和b,我們輸入兩個整數點擊調用,出現如下結果:

下面是web服務返回的結果,其中133就是HelloWorld參數a+b返回的結果:

1 <?xml version="1.0" encoding="UTF-8"?>2 <string xmlns="http://tempuri.org/">133</string>

 到這里,以后我們想要調用一個web服務就可以通過以上方式把客戶端從服務器獲取數據,訪問:"主機名/web服務名.asmx"就可以調用了。

得到的數據是個XML,所以客戶端得到數據后需要客戶端解析XML文件。

注意:以上創建在瀏覽器調用的web服務僅供本地計算機調試使用,需要配置web.config(之前提到過)才能實現遠程調用調試

如果不配置,在遠程調用會出現:測試窗體只能用于來自本地計算機的請求解決 的問題。

如需遠程調用可以參考一下方法:

在網站的解決方案的下方找到web.config

打開后添加如下配置即可:

1 <system.web>  2     <webServices>  3       <protocols>  4         <add name="HttpGet"/>  5         <add name="HttpPost"/>  6       </protocols>  7     </webServices>    8 <system.web>  

 配置之后,就可以在遠程通過瀏覽器來調用webservice.asmx服務了,開發測試之后,為了安全,一定把該配置去掉!

下一篇文章將介紹如何用WinForm引用web服務并取得返回值!

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐清市| 綦江县| 田阳县| 溆浦县| 临武县| 尼木县| 繁昌县| 临沂市| 米易县| 泸溪县| 清远市| 罗山县| 屏山县| 墨脱县| 桂东县| 卓资县| 周口市| 泽州县| 类乌齐县| 万州区| 那曲县| 鄂尔多斯市| 进贤县| 安塞县| 航空| 洞头县| 霍邱县| 邛崃市| 凤庆县| 聂荣县| 奉节县| 武定县| 金沙县| 镇巴县| 汝阳县| 黔东| 太康县| 兴海县| 余干县| 漾濞| 大丰市|