Teilen über


SoapDocumentMethodAttribute Klasse

Definition

Durch die Anwendung von SoapDocumentMethodAttribute auf eine Methode wird angegeben, dass SOAP-Nachrichten an die bzw. von der Methode die Document-Formatierung verwenden.

public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
Vererbung
SoapDocumentMethodAttribute
Attribute

Beispiele

Im folgenden Codebeispiel wird der Nachrichtenstil für die GetUserName XML-Webdienstmethode auf Document festgelegt. Darüber hinaus wird das XML-Element mit der Body für die SOAP-Anforderung und die SOAP-Antwort sind-Elementgruppe GetUserNameRequest und GetUserNameResponsebzw.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapDocumentMethod(Action="http://www.contoso.com/Sample", 
           RequestNamespace="http://www.contoso.com/Request",
           RequestElementName="GetUserNameRequest",
           ResponseNamespace="http://www.contoso.com/Response",
           ResponseElementName="GetUserNameResponse")]
      [ WebMethod(Description="Obtains the User Name") ]
      public UserName GetUserName() {
           string temp;
           int pos;
           UserName NewUser = new UserName();
           
           // Get the full user name, including the domain name if applicable.
           temp = User.Identity.Name;
 
           // Determine whether the user is part of a domain by searching for a backslash.
           pos = temp.IndexOf("\\");
           
           // Parse the domain name out of the string, if one exists.
           if (pos <= 0)
                 NewUser.Name = User.Identity.Name;
           else {
               NewUser.Name = temp.Remove(0,pos+1);
                 NewUser.Domain = temp.Remove(pos,temp.Length-pos);
           } 
       return NewUser;
      }
 
 }   
 
 public class UserName {
 
     public string Name;
     public string Domain;
 }
<%@ WebService Language="VB" class="MyUser" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols

Public Class MyUser
    Inherits WebService    
    
    <SoapDocumentMethod(Action := "http://www.contoso.com/Sample", _
    RequestNamespace := "http://www.contoso.com/Request", _
    RequestElementName := "GetUserNameRequest", _
    ResponseNamespace := "http://www.contoso.com/Response", _
    ResponseElementName := "GetUserNameResponse"), _
    WebMethod(Description := "Obtains the User Name")> _
    Public Function GetUserName() As UserName
        
        Dim temp As String
        Dim pos As Integer
        Dim NewUser As New UserName()
        
        ' Get the full user name, including the domain name if applicable.
        temp = User.Identity.Name
        
        ' Determine whether the user is part of a Domain by searching for a backslash.
        pos = temp.IndexOf("\")
        
        ' Parse the domain name out of the string, if one exists.
        If pos <= 0 Then
            NewUser.Name = User.Identity.Name
        Else
            NewUser.Name = temp.Remove(0, pos + 1)
            NewUser.Domain = temp.Remove(pos, temp.Length - pos)
        End If
        Return NewUser
    End Function
End Class 

Public Class UserName
    
    Public Name As String
    Public Domain As String
End Class

Hinweise

Web Services Description Language (WSDL) definiert zwei Stile dafür, wie eine XML-Webdienstmethode, die ein Vorgang aufruft, in einer SOAP-Nachricht formatiert werden kann: RPC und Document. Document bezieht sich auf das Formatieren der XML-Webdienstmethode gemäß einem XSD-Schema. Der Document Stil bezieht sich auf das Formatieren des Body Elements als Eine Reihe von einem oder mehreren Meldungsteilen, die dem Body Element folgen. Genau, wie die einzelnen Nachrichtenteile durch die Use Eigenschaften und ParameterStyle bestimmt werden. Die Use -Eigenschaft bestimmt, ob Parameter formatiert oder Literalformatiert Encoded sind. Bestimmt ParameterStyle , ob die Parameter in einem einzelnen Meldungsteil gekapselt werden, der dem Body -Element folgt, oder ob jeder Parameter ein einzelner Nachrichtenteil ist.

Weitere Informationen finden Sie unter Anpassen der SOAP-Nachrichtenformatierung.

Dieses Attribut kann sowohl auf eine XML-Webdienstmethode auf dem Server als auch auf eine Methode der Proxyklasse auf dem Client angewendet werden.

Konstruktoren

SoapDocumentMethodAttribute()

Initialisiert eine neue Instanz der SoapDocumentMethodAttribute-Klasse.

SoapDocumentMethodAttribute(String)

Initialisiert eine neue Instanz der SoapDocumentMethodAttribute-Klasse und legt die Action-Eigenschaft auf den Wert des action-Parameters fest.

Eigenschaften

Action

Ruft das SOAPAction-HTTP-Headerfeld der SOAP-Anforderung ab oder legt dieses fest.

Binding

Ruft den Namen einer Bindung ab, für die eine XML-Webdienstmethode einen Vorgang implementiert, oder legt diesen fest.

OneWay

Ruft ab oder legt fest, ob ein XML-Webdienstclient darauf wartet, dass der Webserver die Verarbeitung einer XML-Webdienstmethode beendet.

ParameterStyle

Ruft ab oder legt fest, ob Parameter innerhalb eines einzelnen XML-Elements unterhalb des Body-Elements im XML-Teil einer SOAP-Nachricht gekapselt sind.

RequestElementName

Ruft das XML-Element ab, das der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, die in einer Dienstbeschreibung als Vorgang definiert ist, oder legt dieses fest.

RequestNamespace

Ruft den Namespace ab, der der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, oder legt diesen fest.

ResponseElementName

Ruft das XML-Element ab, das der SOAP-Antwort für eine XML-Webdienstmethode zugeordnet ist, oder legt dieses fest.

ResponseNamespace

Ruft den XML-Namespace ab, der der SOAP-Antwort für eine XML-Webdienstmethode zugeordnet ist, oder legt diesen fest.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.

(Geerbt von Attribute)
Use

Ruft die Parameterformatierung für eine XML-Webdienstmethode innerhalb des XML-Teils einer SOAP-Nachricht ab oder legt diese fest.

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen