返回首頁
當前位置: 主頁 > 網絡編程 > .Net實例教程 >

c#webservice的簡單示例程序代碼

時間:2012-05-06 13:46來源:知行網www.ayratv.icu 編輯:麥田守望者

webservice.就概念上來說,可能比較復雜,不過我們可以有個宏觀的了解:webservice就是個對外的接口,里面有 函數可供外部客戶調用(注意:里面同樣有客戶不可調用的函數)。假若我們是服務端,我們寫好了個webservice,然后把它給了客戶(同時我們給了他們調用規則),客戶就可以在從服務端獲取信息時處于一個相對透明的狀態。即使客戶不了解(也不需要)其過程,他們只獲取數據。

  webservice傳遞的數據只能是序列化的數據,典型的就是xml數據。

下面以一個簡單例子為例:

(一)新建——-項目---Visual C#---web---ASP.NET Web 服務應用程序,命名為TestWebService

此時的目錄結構如圖所示:

c#webservice的簡單示例 - Hope - Hope的博客

我們修改Service1.asmx的名字為:MyService.asmx

同時修改文件中的class名

public class MyService: System.Web.Services.WebService
{

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}

同時修改文件MyService.asmx(右擊--查看標記;如果在vs環境下雙擊打開的是.cs文件)

<%@ WebService Language="C#"CodeBehind="MyService.asmx.cs" Class="TestWebService.Service1"%>改為

<%@ WebService Language="C#"CodeBehind="MyService.asmx.cs" Class="TestWebService.MyService" %>

 

(二)重新生成項目,右擊MyService.asmx,選擇“在瀏覽器中查看”,即可檢查本項目是否有語法錯誤

(三)在MyService.asmx添加指定方法

using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;

namespace TestWebService
{
///<summary>
/// Service1的摘要說明
///</summary>
[WebService(Namespace = "http:///")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public classMyService:System.Web.Services.WebService
{

[WebMethod]//必須要有的,為了說明,其下是一個方法,每一個方法前面都需要有。
public string getName()
{
return "Hope";
}

[WebMethod]
public string getAge()
{
return "25";
}

}
}

重新生成項目,右擊MyService.asmx,選擇“在瀏覽器中查看”,效果如下:

 

c#webservice的簡單示例 - Hope - Hope的博客

(四)發布在外網上

這里我是在本機上測試的,所以沒有必要發布。如果要發布到外網上,我們可以通過:

把bin文件下的文件以及與bin(包括.dll和.pdb文件)同級目錄的asmx文件上傳到外網即可。

(五)使用web service接口。

新建一個普通的windows應用程序,右擊,添加web引用----

如圖:

c#webservice的簡單示例 - Hope - Hope的博客

改一下web引用名為:HopeWebService如圖:

c#webservice的簡單示例 - Hope - Hope的博客

此時,我們可以使用webservice中的方法了。通過HopeWebService我們可以訪問其中的兩個方法。

(六)使用方法:

HopeWebService.MyService obj = newHopeWebService.MyService();
MessageBox.Show("name is:" + obj.getName()+";age is:" + obj.getAge());

------分隔線----------------------------
標簽(Tag):C# C#實例教程 c#基礎教程 C#源代碼 c#技巧
------分隔線----------------------------
推薦內容
猜你感興趣
pk10赛车直播视频