ASP.NET創(chuàng)建Web服務(wù)之管理Web服務(wù)狀態(tài)

字號(hào):

XML Web服務(wù)在類實(shí)現(xiàn)派生于WebService類的XML Web服務(wù)時(shí),可以使用和其他ASP.net應(yīng)用程序相同的狀態(tài)管理選項(xiàng)。WebService類包含許多公共ASP.NET對(duì)象,包括Session和Application對(duì)象。
    Application對(duì)象提供一個(gè)儲(chǔ)存運(yùn)行在Web應(yīng)用程序中的代碼可訪問(wèn)的數(shù)據(jù)的機(jī)制,而Session對(duì)象允許數(shù)據(jù)存儲(chǔ)在每客戶端會(huì)話基礎(chǔ)上。如果客戶端支持cookies,那么可以使用cookie來(lái)識(shí)別客戶端會(huì)話。
    Session對(duì)象中存儲(chǔ)的數(shù)據(jù)只有在WebMethod屬性的EnableSession屬性設(shè)置為true來(lái)使用WebService派生的類時(shí)才可用。WebService派生的類自動(dòng)可訪問(wèn)Application對(duì)象。
    訪問(wèn)和保存特定客戶端會(huì)話的特定狀態(tài)
    聲明一個(gè)XML Web服務(wù)。
    [C#]
    <%@ WebService Language="C#" Class="ServerUsage" %>
    [Visual Basic]
    <%@ WebService Language="VB" Class="ServerUsage" %>
    添加一個(gè)引用到System.Web.Services域名空間。
    [C#]
    using System.Web.Services;
    [Visual Basic]
    Imports System.Web.Services
    從WebService類派生實(shí)現(xiàn)XML Web服務(wù)的類。
    [C#]
    public class ServerUsage : WebService
    [Visual Basic]
    Public Class ServerUsage : Inherits WebService
    聲明一個(gè)XML Web服務(wù)方法,設(shè)置WebMethod屬性的EnableSession屬性為true。
    [C#]
    [ WebMethod(EnableSession=true) ]
    public int PerSessionServiceUsage()
    [Visual Basic]
    < WebMethod(EnableSession:=True) > _
    Public Function PerSessionServiceUsage() As Integer
    保存狀態(tài)在會(huì)話中,為狀態(tài)指定一個(gè)名稱,便于稍后的檢索。 在下面的示例中,值1被保存在一個(gè)名為MyServiceUsage的狀態(tài)變量中。
    [C#]
    Session["MyServiceUsage"] = 1;
    [Visual Basic]
    Session("MyServiceUsage") = 1
    訪問(wèn)保存在Session中的狀態(tài)變量。