本文通過一個(gè)實(shí)例講解了C# WebService的編程方法。麻雀雖小,五臟俱全,這個(gè)實(shí)例非常能說明問題。
1、建立Web服務(wù)
(1)在wwwroot目錄下建立一個(gè)叫做Webservice的目錄。
(2)建立下面這樣一個(gè)文件:
<%@ WebService Language="c#" Class="AddNumbers"%>
using System;
using System.Web.Services;
public class AddNumbers : WebService
{
[WebMethod]
public int Add(int a, int b)
{
int sum;
sum = a + b;
return sum;
}
}
(3)將這個(gè)文件保存為AddService.asmx(asmx是擴(kuò)展名),保存到Webservice的目錄中
(4)已經(jīng)準(zhǔn)備好客戶端使用
(5)用下面的URL訪問這個(gè)Web服務(wù):
http://IP地址/Webservice/Addservice.asmx/Add?a=10&b=5
結(jié)果將以XML格式返回。
2、在客戶機(jī)上部署這個(gè)服務(wù)
(1)在ming令行輸入:
WSDL http://IP地址/WebService/MathService.asmx /n:NameSp /out:FileName.cs
這個(gè)操作將建立一個(gè)稱為FileName.cs的文件
說明:WSDL 指的是WebServices Description Language ,這個(gè)程序在Program Files/Microsoft.NET/FrameworkSDK/Bin 目錄中。
NameSp是我們?cè)O(shè)置的名字空間的名字,將在后面部署這個(gè)服務(wù)的客戶端的實(shí)現(xiàn)代碼中使用到。
(2)編譯C# Webservice實(shí)例
CSC /t:library /r:system.web.dll /r:system.xml.dll FileName.cs
上述ming令將生成一個(gè)dll文件,名字就是上面的asmx文件中的公共類的名字,在我們的例子中,就是:AddNumbers.dll
(3)將生成的dll文件放到部署機(jī)的wwwroot/bin目錄中。
在部署機(jī)的asp/aspx 中調(diào)用這個(gè)Web服務(wù)
<%@ import Namespace = "NameSp"%>
<script language = "c#" runat = "server">
public void Page_Load(object o, EventArgs e)
{
int x = 10;
int y = 5;
int sum; //Instantiating the public class of the webservice
AddNumbers AN = new AddNumbers();
sum = AN.Add(x,y);
string str = sum.ToString();
response.writeline(str);
}
</script>
這樣,一個(gè)簡(jiǎn)單的WEB Service服務(wù)實(shí)例就完成了。
新聞熱點(diǎn)
疑難解答
圖片精選