Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Webdienste haben Zugriff auf die gleichen Zustandsverwaltungsoptionen wie andere ASP.NET-Anwendungen, wenn die Klasse, die den Webdienst implementiert, von der WebService-Klasse abgeleitet ist. Die WebService-Klasse enthält viele der allgemeinen ASP.NET-Objekte, einschließlich des Session-Objekts und des Application-Objekts.
So greifen Sie auf einen für eine bestimmte Clientsitzung spezifischen Zustand zu und speichern ihn
Deklarieren Sie einen Webdienst.
<%@ WebService Language="C#" Class="ServerUsage" %><%@ WebService Language="VB" Class="ServerUsage" %>Fügen Sie einen Verweis auf den System.Web.Services-Namespace hinzu.
using System.Web.Services;Imports System.Web.ServicesLeiten Sie die Klasse, die den Webdienst implementiert, von der WebService-Klasse ab.
public class ServerUsage : WebServicePublic Class ServerUsage : Inherits WebServiceDeklarieren Sie eine Webdienstmethode, und legen Sie die EnableSession-Eigenschaft des WebMethod -Attributs auf true fest.
[ WebMethod(EnableSession=true) ] public int PerSessionServiceUsage()< WebMethod(EnableSession:=True) > _ Public Function PerSessionServiceUsage() As IntegerSpeichern Sie den Zustand in Session. Damit wird der Name des Zustands für einen späteren Abruf angegeben. Im folgenden Beispiel wird der Wert
1in einer Zustandsvariablen mit dem NamenMyServiceUsagegespeichert.Session["MyServiceUsage"] = 1;Session("MyServiceUsage") = 1Greifen Sie auf die in Session gespeicherte Zustandsvariable zu.
Im folgenden Beispiel wird auf die
MyServiceUsage-Zustandsvariable zugegriffen, um ihren Wert zu erhöhen.Session["MyServiceUsage"] = ((int) Session["MyServiceUsage"]) + 1;Session("MyServiceUsage") = CInt(Session("MyServiceUsage")) + 1
So greifen Sie auf einen Zustand zu und speichern den Zustand, der für die Webanwendung spezifisch ist, die den Webdienst hostet
Deklarieren Sie einen Webdienst.
<%@ WebService Language="C#" Class="ServerUsage" %><%@ WebService Language="VB" Class="ServerUsage" %>Fügen Sie einen Verweis auf den System.Web.Services-Namespace hinzu.
using System.Web.Services;Imports System.Web.ServicesLeiten Sie die Klasse, die den Webdienst implementiert, von der WebService-Klasse ab.
public class ServerUsage : WebServicePublic Class ServerUsage : Inherits WebServiceDeklarieren Sie eine Webdienstmethode.
[ WebMethod ] public int PerSessionServiceUsage()< WebMethod > _ Public Function PerSessionServiceUsage() As IntegerSpeichern Sie den Zustand in Application. Damit wird der Name des Zustands für einen späteren Abruf angegeben. Im folgenden Beispiel wird der Wert
1in einer Zustandsvariablen mit dem NamenappMyServiceUsagegespeichert.Application["appMyServiceUsage"] = 1;Application("appMyServiceUsage") = 1Greifen Sie auf die in Application gespeicherte Zustandsvariable zu.
Im folgenden Beispiel wird auf die
appMyServiceUsage-Zustandsvariable zugegriffen, um ihren Wert zu erhöhen.Application["appMyServiceUsage"] = ((int) Application["appMyServiceUsage"]) + 1;Application("appMyServiceUsage") = _ CInt(Application("appMyServiceUsage")) + 1
Beispiel
<%@ WebService Language="C#" Class="ServerUsage" %>
using System.Web.Services;
public class ServerUsage : WebService {
[ WebMethod(Description="Number of times this service has been accessed.") ]
public int ServiceUsage() {
// If the Web service method hasn't been accessed,
// initialize it to 1.
if (Application["appMyServiceUsage"] == null)
{
Application["appMyServiceUsage"] = 1;
}
else
{
// Increment the usage count.
Application["appMyServiceUsage"] = ((int) Application["appMyServiceUsage"]) + 1;
}
return (int) Application["appMyServiceUsage"];
}
[ WebMethod(Description="Number of times a particular client session has accessed this Web service method.",EnableSession=true) ]
public int PerSessionServiceUsage() {
// If the Web service method hasn't been accessed, initialize
// it to 1.
if (Session["MyServiceUsage"] == null)
{
Session["MyServiceUsage"] = 1;
}
else
{
// Increment the usage count.
Session["MyServiceUsage"] = ((int) Session["MyServiceUsage"]) + 1;
}
return (int) Session["MyServiceUsage"];
}
}
<%@ WebService Language="VB" Class="ServerUsage" %>
Imports System.Web.Services
Public Class ServerUsage
Inherits WebService
<WebMethod(Description := "Number of times this service has been accessed.")> _
Public Function ServiceUsage() As Integer
' If the Web service method hasn't been accessed, initialize
' it to 1.
If Application("appMyServiceUsage") Is Nothing Then
Application("appMyServiceUsage") = 1
Else
' Increment the usage count.
Application("appMyServiceUsage") = _
CInt(Application("appMyServiceUsage")) + 1
End If
Return CInt(Application("appMyServiceUsage"))
End Function
<WebMethod(Description := "Number of times a particular client session has accessed this Web service method.", EnableSession := True)> _
Public Function PerSessionServiceUsage() As Integer
' If the Web service method hasn't been accessed,
' initialize it to 1.
If Session("MyServiceUsage") Is Nothing Then
Session("MyServiceUsage") = 1
Else
' Increment the usage count.
Session("MyServiceUsage") = CInt(Session("MyServiceUsage")) + 1
End If
Return CInt(Session("MyServiceUsage"))
End Function
End Class
Siehe auch
Weitere Ressourcen
.gif)
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.