亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.NET C#創(chuàng)建WebService服務(wù)簡(jiǎn)單實(shí)例

 更新時(shí)間:2017年05月11日 17:21:44   作者:帶刀侍衛(wèi)++i  
這篇文章主要為大家詳細(xì)介紹了.NET C# 創(chuàng)建WebService服務(wù)簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

Web service是一個(gè)基于可編程的web的應(yīng)用程序,用于開(kāi)發(fā)分布式的互操作的應(yīng)用程序,也是一種web服務(wù)

WebService的特性有以下幾點(diǎn):

1.使用XML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)來(lái)作為數(shù)據(jù)交互的格式。

2.跨平臺(tái)性,因?yàn)槭褂肵ML所以只要本地應(yīng)用可以連接網(wǎng)絡(luò)解析XML就可以實(shí)現(xiàn)數(shù)據(jù)交換,比如安卓、IOS、WindowsPhone等都可以實(shí)現(xiàn)對(duì)Web service的數(shù)據(jù)交互。

3.基于HTTP協(xié)議,直接跨越防火墻,通用型強(qiáng);

下面使用Visual Studio 2013(其他VS版本亦是如此)來(lái)創(chuàng)建一個(gè)簡(jiǎn)單Web service服務(wù)。

一、打開(kāi)Visual Studio->文件->新建->網(wǎng)站

二、之后選擇ASP.NET空網(wǎng)站,再點(diǎn)擊“確定”

三、新建網(wǎng)站后你會(huì)看到解決方案管理器中看到一個(gè)web.config,待會(huì)我們可以通過(guò)配置這個(gè)文件來(lái)實(shí)現(xiàn)瀏覽器對(duì)WebService的遠(yuǎn)程調(diào)用。

現(xiàn)在,右鍵解決方案中的項(xiàng)目名添加一個(gè)WebService項(xiàng)目。

四、之后,你可以在項(xiàng)目模版中找到Web服務(wù)(ASMX),添加它!

五、創(chuàng)建之后在APP_Code文件夾中創(chuàng)建一個(gè)WebService.cs文件

在網(wǎng)站根目錄下會(huì)同時(shí)創(chuàng)建一個(gè)WebService.asmx文件

這兩個(gè)文件中WebService.cs負(fù)責(zé)邏輯部分,WebService.asmx提供服務(wù)部分。將來(lái)引用WebService服務(wù)時(shí)將直接引用WebService.asmx文件來(lái)調(diào)用WebService服務(wù),服務(wù)的執(zhí)行部分就是WebService.cs文件

現(xiàn)在打開(kāi)WebService.cs文件來(lái)編輯邏輯部分實(shí)行一個(gè)簡(jiǎn)單的《客戶端調(diào)用web服務(wù)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法運(yùn)算,并返回以字符串給客戶端運(yùn)算結(jié)果》

/*
  Web.Services.cs文件
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// WebService 的摘要說(shuō)明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 若要允許使用 ASP.NET AJAX 從腳本中調(diào)用此 Web 服務(wù),請(qǐng)取消注釋以下行。 
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {

  public WebService () {

    //如果使用設(shè)計(jì)的組件,請(qǐng)取消注釋以下行 
    //InitializeComponent(); 
  }

  /// <summary>
  /// 方法上頭的[WebMethod]是聲明一個(gè)web服務(wù)方法,如果你想寫個(gè)方法能讓客戶端調(diào)用并返回結(jié)果就必須在方法上頭標(biāo)注[WebMethod]
  /// 如果是只負(fù)責(zé)邏輯運(yùn)算或私有方法,并不打算給客戶端結(jié)果,只給類方法內(nèi)部調(diào)用就無(wú)需聲明[WebMethod]
  /// </summary>
  /// <param name="a"></param>
  /// <param name="b"></param>
  /// <returns>將運(yùn)算結(jié)果轉(zhuǎn)換成字符串返回</returns>
  [WebMethod]
  public string HelloWorld(int a, int b) {
    int result = a + b;
    return result.ToString();
  }  
}

上面的代碼寫了一個(gè)基本的方法供遠(yuǎn)程調(diào)用,將cs文件保存后,一個(gè)簡(jiǎn)單的web服務(wù)就創(chuàng)建了!

下面我們啟動(dòng)這個(gè)項(xiàng)目,用瀏覽器查看微軟為我們定義測(cè)試的調(diào)用頁(yè)面:

在這里我們可以看到我們寫的Hello方法可以調(diào)用了,我們單擊進(jìn)入這個(gè)方法進(jìn)入調(diào)用調(diào)試頁(yè)面:

輸入?yún)?shù),我們寫的是一個(gè)簡(jiǎn)單的加法運(yùn)算,參數(shù)便是我們寫的HelloWorld方法的參數(shù)a和b,我們輸入兩個(gè)整數(shù)點(diǎn)擊調(diào)用,出現(xiàn)如下結(jié)果:

下面是web服務(wù)返回的結(jié)果,其中133就是HelloWorld參數(shù)a+b返回的結(jié)果:

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

到這里,以后我們想要調(diào)用一個(gè)web服務(wù)就可以通過(guò)以上方式把客戶端從服務(wù)器獲取數(shù)據(jù),訪問(wèn):"主機(jī)名/web服務(wù)名.asmx"就可以調(diào)用了。

得到的數(shù)據(jù)是個(gè)XML,所以客戶端得到數(shù)據(jù)后需要客戶端解析XML文件。

注意:以上創(chuàng)建在瀏覽器調(diào)用的web服務(wù)僅供本地計(jì)算機(jī)調(diào)試使用,需要配置web.config(之前提到過(guò))才能實(shí)現(xiàn)遠(yuǎn)程調(diào)用調(diào)試

如果不配置,在遠(yuǎn)程調(diào)用會(huì)出現(xiàn):測(cè)試窗體只能用于來(lái)自本地計(jì)算機(jī)的請(qǐng)求解決 的問(wèn)題。

如需遠(yuǎn)程調(diào)用可以參考一下方法:

在網(wǎng)站的解決方案的下方找到web.config

打開(kāi)后添加如下配置即可:

<system.web> 
  <webServices> 
   <protocols> 
    <add name="HttpGet"/> 
    <add name="HttpPost"/> 
   </protocols> 
  </webServices>  
<system.web>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論