Freigeben über


WebMethodAttribute-Klasse

Wenn Sie dieses Attribut einer Methode in einem XML-Webdienst hinzufügen, der mit ASP.NET erstellt wurde, kann die Methode von Remotewebclients aufgerufen werden. Diese Klasse kann nicht geerbt werden.

Namespace: System.Web.Services
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
<AttributeUsageAttribute(AttributeTargets.Method)> _
Public NotInheritable Class WebMethodAttribute
    Inherits Attribute
'Usage
Dim instance As WebMethodAttribute
[AttributeUsageAttribute(AttributeTargets.Method)] 
public sealed class WebMethodAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Method)] 
public ref class WebMethodAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */ 
public final class WebMethodAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method) 
public final class WebMethodAttribute extends Attribute

Hinweise

Methoden in einer Klasse, bei denen dieses Attribut festgelegt ist, heißen XML-Webdienstmethoden. Die Methode und die Klasse müssen öffentlich sein und innerhalb einer ASP.NET-Webanwendung ausgeführt werden.

Thema Position
Exemplarische Vorgehensweise: Erstellen und Verwenden eines ASP.NET-Webdiensts in Visual Web Developer Erstellen von ASP.NET-Webanwendungen in Visual Studio
Exemplarische Vorgehensweise: Erstellen und Verwenden eines ASP.NET-Webdiensts in Visual Web Developer Erstellen von Anwendungen mit Visual Web Developer

Beispiel

Da die GetMachineName-Methode ein WebMethodAttribute besitzt, kann sie von einem Remotestandort über das Web aufgerufen werden. GetUserName kann aufgrund des Fehlens von WebMethodAttribute nicht remote aufgerufen werden, obwohl die Methode public ist.

<%@ WebService Language="VB" Class="Util"%>

Imports System
Imports System.Web.Services

Public Class Util
    Inherits WebService
    
    Public Function GetUserName() As String
        Return User.Identity.Name
    End Function    
    
    <WebMethod(Description := "Obtains the Server Machine Name", _
        EnableSession := True)> _
    Public Function GetMachineName() As String
        
        Return Server.MachineName
    End Function
End Class
<%@ WebService Language="C#" Class="Util"%>
    using System;
    using System.Web.Services;
    public class Util: WebService {
       public string GetUserName() {
          return User.Identity.Name;
       }
    
       [ WebMethod(Description="Obtains the Server Machine Name",
       EnableSession=true)]
       public string GetMachineName() {
          return Server.MachineName;
       }
    }

Vererbungshierarchie

System.Object
   System.Attribute
    System.Web.Services.WebMethodAttribute

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

WebMethodAttribute-Member
System.Web.Services-Namespace
TransactionOption
WebService