ASP.NET創建Web服務之聲明
聲明一個XML Web服務 當你使用ASP.NET創建一個XML Web服務時,你要把所需的@_WebService指令放到.asmx文件的最頂端。.asmx文件的存在和@_ WebService指令與所實現的XML Web服務的URL地址相關。接下來,你實現XML Web服務類來定義XML Web服務客戶端可見的方法
聲明一個XML Web服務 當你使用ASP
.NET創建一個XML Web服務時,你要把所需的@_WebService指令放到.asmx文件的最頂端。.asmx文件的存在和@_ WebService指令與所實現的XML Web服務的URL地址相關。接下來,你實現XML Web服務類來定義XML Web服務客戶端可見的方法和數據類型。最后,你把你的XML Web服務邏輯添加到那些方法上,以便處理XML Web服務請求和返回的響應。你定義的XML Web服務類可以直接被包含在.asmx文件中,也可以包含在一個單獨的文件中。如果你使用一個獨立的文件,它必須被編譯為二進制碼。你可以選擇應用一個WebService屬性到這個類上,來實現XML Web服務。實現XML Web服務的類可以繼承于WebService類。
聲明一個XML Web服務,這個服務的實現存在于同一個文件。
添加一個@_WebService指令到一個.asmx文件的頂部,規定在這個實現中實現XML Web服務的類和程序語言。
Class屬性可以被設置為和@_WebService指令同一個匯編文件,或者是單獨匯編文件中的一個類。如果這個類存在于一個獨立匯編文件中,它必須放在XML Web服務所在的Web應用程序目錄下的\Bin目錄中。Language屬性可以設置為C#、
VB和JS,分別表示C#、Visual Basic.NET和JScript.NET。
下列代碼示例設置@_ 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服務,這個服務的實現存在于一個匯編文件中。
添加一個@_WebService指令到一個.asmx文件的頂部,規定實現XML Web服務的類,匯編文件中包含的實現和在這個實現中使用的程序語言。
下面的@_WebService指令是一個.asmx文件中唯一的一行代碼,指定了MyName.MyWebService類存在于XML Web服務的Web應用程序下\Bin目錄中的MyAssembly匯編文件中。
[C#] <%@ WebService Language="C#" Class="MyName.MyWebService,MyAssembly" %> [Visual Basic] <%@ WebService Language="VB" Class="MyName.MyWebService,MyAssembly" %> |
聲明一個XML Web服務,這個服務的實現存在于一個匯編文件中。
添加一個@_WebService指令到一個.asmx文件的頂部,規定實現XML Web服務的類,匯編文件中包含的實現和在這個實現中使用的程序語言。
下面的@_WebService指令是一個.asmx文件中唯一的一行代碼,指定了MyName.MyWebService類存在于XML Web服務的Web應用程序下\Bin目錄中的MyAssembly匯編文件中。
注意:如果你不在@_ WebService指令中指定一個匯編,那么ASP.NET在XML Web服務第一次被訪問的時候搜尋存放XML Web服務的Web應用程序的\Bin目錄下匯編文件的列表。所以,如果你提供匯編文件名,你將改善第一次訪問時的系統
性能。
應用WebService屬性 通過應用可選的WebService屬性到實現一個XML Web服務的類上,你可以使用一個描述XML Web服務的字符串來設置這個XML Web服務的默認XML域名空間。
強烈建議這個默認域名空間(此處為http://tempuri.org)在XML Web服務公開使用前被修改。這是很重要的,因為你的XML Web服務必須和其他的無意中使用默認值作為域名空間的XML Web服務區分開來。
設置成員XML Web服務的XML域名空間
應用一個WebService屬性到實現XML Web服務的類,設置Namespace屬性。
下面的代碼示例設置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 |
從WebService類衍生 使用ASP.NET創建的實現一個XML Web服務的類可以選擇性地衍生于WebService類來獲得訪問公共的ASP.NET對象,例如Application、Session、User和Context的權限。Application和Session屬性提供保存和接收Web應用程序的生命周期或一個特定的會話的狀態的權限。想獲得關于狀態的更多的信息,請看在使用ASP.NET創建的XML Web服務中管理狀態一節。User屬性包含了XML Web服務調用者的身份。XML Web服務可以使用調用者身份來判定請求是否被授權。有關驗證的更多信息,請看加強XML Web服務
安全一節。Context屬性提供了取得XML Web服務客戶端請求的所有特定HTTP信息的權限。
下面的代碼示例使用Context屬性來獲得
服務器上的請求時間。
[C#] <%@ WebService Language="C#" Class="Util" %> using System; using System.Web.Services;
public class Util: WebService { [ WebMethod(Description="Returns the time as stored on the Server",EnableSession=false)] public string Time() { return Context.Timestamp.TimeOfDay.ToString(); } } [Visual Basic] <%@ WebService Language="VB" Class="Util" %> Imports System Imports System.Web.Services
Public Class Util Inherits WebService
<WebMethod(Description := "Returns the time as stored on the Server", _ EnableSession := False)> _ Public Function Time() As String Return Context.Timestamp.TimeOfDay.ToString() End Function End Class |
定義XML Web服務方法 用來實現XML Web服務的類的方法不能自動通過Web與之通訊,但是有了使用ASP.NET創建的XML Web服務,就能夠很容易的天家這種能力。為了添加這種功能,需要應用一個WebMethod屬性到公共方法中。能夠通過Web與之通訊的XML Web服務的方法被稱為XML Web服務方法。
XML Web服務方法是XML Web服務使用的消息傳遞基礎結構的關鍵組成部分。說得更精確些,一個客戶端和一個XML Web服務使用消息,尤其是
SOAP消息進行通訊??蛻舳税l送一個SOAP請求到XML Web服務中,而一個XML Web服務方法返回一個SOAP響應。XML Web服務定義了它使用操作接受的消息類型,正如Web服務描述語言中定義的那樣。這些操作與一個XML Web服務中的每個XML Web服務方法關聯。 即使這些XML Web服務方法中的每一個都是在ASP.NET使用一個類的方法定義的,但要實現通過
網絡傳送的數據,必須把數據序列化為XML。同樣地,重要的是要記得XML Web服務并不能取代DCOM,我們應該說XML Web服務是跨越使用行業標準的平臺通信的一種消息傳遞基礎結構。
聲明一個XML Web服務方法 聲明一個XML Web服務,添加@_WebService指令。更多信息,請看聲明一個XML Web服務一節。
添加公共方法到實現XML Web服務的類中。
應用WebMethod屬性到你想要映射到操作的公共方法。
下面的代碼示例有兩個公共方法,其一是一個XML Web服務方法。Multiply方法是一個XML Web服務方法,因為它有一個應用到它上的WebMethod屬性。
[C#] <%@ WebService Language="C#" Class="Util" %> using System; using System.Web.Services; public class Util: WebService { public int Add(int a, int b) { return a + b; }
[ WebMethod] public long Multiply(int a, int b) { return a * b; } } [Visual Basic] <%@ WebService Language="VB" Class="Util" %> Imports System Imports System.Web.Services Public Class Util Inherits WebService
Public Function Add(a As Integer, b As Integer) As Integer Return a + b End Function
< WebMethod()> _ Public Function Multiply(a As Integer, b As Integer) As Long Return a * b End Function End Class |
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|