webservice傳遞的數據只能是序列化的數據,典型的就是xml數據。
下面以一個簡單例子為例:
(一)新建——-項目---Visual C#---web---ASP.NET Web 服務應用程序,命名為TestWebService
此時的目錄結構如圖所示:
我們修改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.Da
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://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
public class MyService: System.Web.Services.WebService
{
[WebMethod]//必須要有的,為了說明,其下是一個方法,每一個方法前面都需要有。
public string getName()
{
return "Hope";
}
[WebMethod]
public string getAge()
{
return "25";
}
}
}
重新生成項目,右擊MyService.asmx,選擇“在浏覽器中查看”,效果如下:
(四)發布在外網上
這裡我是在本機上測試的,所以沒有必要發布。如果要發布到外網上,我們可以通過:
把bin文件下的文件以及與bin(包括.dll和.pdb文件)同級目錄的asmx文件上傳到外網即可。
(五)使用web service接口。
新建一個普通的windows應用程序,右擊,添加web引用----
如圖:
改一下web引用名為:HopeWebService如圖:
此時,我們可以使用webservice中的方法了。通過HopeWebService我們可以訪問其中的兩個方法。
(六)使用方法:
HopeWebService.MyService obj = new HopeWebService.MyService();
MessageBox.Show("name is:" + obj.getName()+";age is:" + obj.getAge());