ASP.NET創(chuàng)建XML Web服務(wù)全接觸(4)
發(fā)表時間:2024-06-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]聲明一個XML Web服務(wù) 當(dāng)你使用ASP.NET創(chuàng)建一個XML Web服務(wù)時,你要把所需的@_WebService指令放到.asmx文件的最頂端。.asmx文件的存在和@_ WebService指令與所實現(xiàn)的XML Web服務(wù)的URL地址相關(guān)。接下來,你實現(xiàn)XML Web服務(wù)類來定義XML W...
聲明一個XML Web服務(wù)
當(dāng)你使用ASP.NET創(chuàng)建一個XML Web服務(wù)時,你要把所需的@_WebService指令放到.asmx文件的最頂端。.asmx文件的存在和@_ WebService指令與所實現(xiàn)的XML Web服務(wù)的URL地址相關(guān)。接下來,你實現(xiàn)XML Web服務(wù)類來定義XML Web服務(wù)客戶端可見的方法和數(shù)據(jù)類型。最后,你把你的XML Web服務(wù)邏輯添加到那些方法上,以便處理XML Web服務(wù)請求和返回的響應(yīng)。你定義的XML Web服務(wù)類可以直接被包含在.asmx文件中,也可以包含在一個單獨的文件中。如果你使用一個獨立的文件,它必須被編譯為二進(jìn)制碼。你可以選擇應(yīng)用一個WebService屬性到這個類上,來實現(xiàn)XML Web服務(wù)。實現(xiàn)XML Web服務(wù)的類可以繼承于WebService類。
聲明一個XML Web服務(wù),這個服務(wù)的實現(xiàn)存在于同一個文件。
添加一個@_WebService指令到一個.asmx文件的頂部,規(guī)定在這個實現(xiàn)中實現(xiàn)XML Web服務(wù)的類和程序語言。
Class屬性可以被設(shè)置為和@_WebService指令同一個匯編文件,或者是單獨匯編文件中的一個類。如果這個類存在于一個獨立匯編文件中,它必須放在XML Web服務(wù)所在的Web應(yīng)用程序目錄下的\Bin目錄中。Language屬性可以設(shè)置為C#、VB和JS,分別表示C#、Visual Basic.NET和JScript.NET。
下列代碼示例設(shè)置@_ WebService指令的Language屬性為C#,Class屬性為MyMath,保存在同一個文件中。
<%@ WebService Language="C#" Class="MyMath" %> using System.Web.Services; public class MyMath { [ WebMethod ] public int Add(int num1, int num2) { return num1+num2; } } |
聲明一個XML Web服務(wù),這個服務(wù)的實現(xiàn)存在于一個匯編文件中。
添加一個@_WebService指令到一個.asmx文件的頂部,規(guī)定實現(xiàn)XML Web服務(wù)的類,匯編文件中包含的實現(xiàn)和在這個實現(xiàn)中使用的程序語言。
下面的@_WebService指令是一個.asmx文件中唯一的一行代碼,指定了MyName.MyWebService類存在于XML Web服務(wù)的Web應(yīng)用程序下\Bin目錄中的MyAssembly匯編文件中。
[C#] <%@ WebService Language="C#" Class="MyName.MyWebService,MyAssembly" %> [Visual Basic] <%@ WebService Language="VB" Class="MyName.MyWebService,MyAssembly" %> |
聲明一個XML Web服務(wù),這個服務(wù)的實現(xiàn)存在于一個匯編文件中。
添加一個@_WebService指令到一個.asmx文件的頂部,規(guī)定實現(xiàn)XML Web服務(wù)的類,匯編文件中包含的實現(xiàn)和在這個實現(xiàn)中使用的程序語言。
下面的@_WebService指令是一個.asmx文件中唯一的一行代碼,指定了MyName.MyWebService類存在于XML Web服務(wù)的Web應(yīng)用程序下\Bin目錄中的MyAssembly匯編文件中。
注意:如果你不在@_ WebService指令中指定一個匯編,那么ASP.NET在XML Web服務(wù)第一次被訪問的時候搜尋存放XML Web服務(wù)的Web應(yīng)用程序的\Bin目錄下匯編文件的列表。所以,如果你提供匯編文件名,你將改善第一次訪問時的系統(tǒng)性能。
應(yīng)用WebService屬性
通過應(yīng)用可選的WebService屬性到實現(xiàn)一個XML Web服務(wù)的類上,你可以使用一個描述XML Web服務(wù)的字符串來設(shè)置這個XML Web服務(wù)的默認(rèn)XML域名空間。
強烈建議這個默認(rèn)域名空間(此處為http://tempuri.org)在XML Web服務(wù)公開使用前被修改。這是很重要的,因為你的XML Web服務(wù)必須和其他的無意中使用默認(rèn)值作為域名空間的XML Web服務(wù)區(qū)分開來。
設(shè)置成員XML Web服務(wù)的XML域名空間
應(yīng)用一個WebService屬性到實現(xiàn)XML Web服務(wù)的類,設(shè)置Namespace屬性。
下面的代碼示例設(shè)置XML域名空間為http://www.contoso.com/。
[C#] <%@ WebService Language="C#" Class="Math" Debug=true%> using System.Web.Services; using System;
[WebService(Namespace="http://www.contoso.com/")] public class Math { [ WebMethod ] public int Add(int num1, int num2) { return num1+num2; } } [Visual Basic] <%@ WebService Language="VB" Class="Math"%> Imports System.Web.Services Imports System
<WebService(Namespace:="http://www.contoso.com/")> _ Public Class Math 。糤ebMethod()> Public Function Add(num1 As Integer, num2 As Integer) As Integer Return num1 + num2 End Function End Class |