WebService有什麼用?

入門以前先簡單介紹下WCF。在用WebService作開發時,不少人都不知道WCF和WebService之間的關係。實際上WCF包含了WebService,這是一個很強悍的通訊技術應用框架。微軟把.NET平臺下全部涉及到分佈式通訊的一些技術都融合到wcf中來。好比webservice已經融合到wcf來了、MSQ(微軟的消息隊列)甚至還融合一些通訊協議,好比TCP,UDP協議。因此wcf把.NET平臺下的通訊問題給解決了。web

這樣說你也許看了可能還沒法理解,這裏咱們來模擬一個如何解決跨系統、跨平臺、跨服務器進行通訊情景(以下圖)。服務器

WebService的本質:能夠用來解決通訊的問題--------------------------------------------------------------------框架

需求:讓張三公司下的這些系統可以進行通訊,好比我用C#來寫一個計算加減乘除的程序讓JAVA或PHP的系統直接來用它。分佈式

這無疑是一件使人難以理解的問題。這時候咱們能夠嘗試使用WebService來處理這一件費解的事。this

如何建立及使用WebService?spa

步驟:3d

1.添加一個Web服務code

2.添加完成後,能夠看到會產生一個.asmx的文件,咱們須要看的是產生的.asmx.cs後臺頁面。在.NET3.5或早期版本,這個CS頁面通常會自動生成到App_Code文件夾裏。固然,.NET4.0(包含更高版本)是以節點方式產生。這裏看下這個文件的代碼結構:orm

複製代碼
    /// <summary> /// WebServiceDemo 的摘要說明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要容許使用 ASP.NET AJAX 從腳本中調用此 Web 服務,請取消註釋如下行。 // [System.Web.Script.Services.ScriptService] public class WebServiceDemo : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello "; } }
複製代碼

這個代碼其實很簡單,一個普通類來繼承System.Web.Services.WebService這個基類。blog

[WebMethod]屬性會將方法附加到Public 方法表示但願將該方法公開爲 XML Web services 的一部分。通俗的講就是在沒有加這個屬性時,你寫的WebService就沒法被外部訪問。

3.建立一個簡單的WebService

 [WebMethod]
 public int Add(int a, int b) { return a + b; }

4.引用:經過Winform程序去調用它

 -4.1建立完winform程序後,添加服務引用

-4.2將WebService地址放到地址去搜索服務,這樣就能夠看到剛纔建立的方法了

5.啓用剛纔建立的winform程序來調用這個程序

複製代碼
private void button1_Click(object sender, EventArgs e) { int a = int.Parse(t1.Text); int b = int.Parse(t2.Text); Var_WebService.WebServiceDemoSoapClient client = new Var_WebService.WebServiceDemoSoapClient();//WebService走的是Soap協議 int result= client.Add(a, b); MessageBox.Show(result.ToString()); }
複製代碼

結果:

相關文章
相關標籤/搜索