天天看點

hjr-ASP.NET:Webservice

#分布式應用程式

有伺服器有用戶端互相資料互動的程式

#Webservice

使用xml資料格式,可以在多端進行資料互動,是一個規定的基于XML的通信标準

##伺服器

建立一個Webservice項目,配置好之後傳回xml資料。

添加新項->添加WEB服務,建好後其中

WebService.cs

負責邏輯部分,

WebService.asmx

提供服務部分。将來引用

WebService

服務時将直接引用

WebService.asmx

檔案來調用

WebService

服務.

WebService.cs

建立服務

/*
   Web.Services.cs檔案
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

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

    public WebService () {

        //如果使用設計的元件,請取消注釋以下行 
        //InitializeComponent(); 
    }

    /// <summary>
    /// 方法上頭的[WebMethod]是聲明一個web服務方法,如果你想寫個方法能讓用戶端調用并傳回結果就必須在方法上頭标注[WebMethod]
    /// 如果是隻負責邏輯運算或私有方法,并不打算給用戶端結果,隻給類方法内部調用就無需聲明[WebMethod]
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns>将運算結果轉換成字元串傳回</returns>
    [WebMethod]
    public string HelloWorld(int a, int b) {
        int result = a + b;
        return result.ToString();
    }    
}
           

再使用url,字尾為

WebService.asmx

通路,可以看到已經寫好的服務清單,點選後可以通路服務檢視傳回的xml資料。

##用戶端

通過url通路後接收到xml資料,再對該資料解析

##應用

比如某銀行使用的技術就是Webservice寫的服務,把可以共享的資料寫到Webservice的服務裡,并把url作為接口提供給商家,商家使用該接口通路xml資料并解析出來再進行應用。