Teilen über


SoapRpcMethodAttribute Klasse

Definition

Gibt an, dass die an die Methode und von dieser gesendeten SOAP-Nachrichten RPC-Formatierung verwenden.

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

Beispiele

Im folgenden Codebeispiel wird die Nachrichtenformatvorlage Rpc für die GetUserName XML-Webdienstmethode auf festgelegt.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapRpcMethod(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 out the domain name from 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    
    
    <SoapRpcMethod(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 out the domain name from 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 oder ein -Vorgang in einer SOAP-Nachricht formatiert werden kann: RPC und Document. RPC Formatierung bezieht sich auf das Formatieren des Vorgangs gemäß der SOAP-Spezifikation für die Verwendung von SOAP für RPC; auch als Abschnitt 7 der SOAP-Spezifikation bezeichnet. RPC Formatierung besagt, dass alle Parameter in einem einzelnen XML-Element gekapselt werden, das nach der XML-Webdienstmethode benannt ist, und dass jedes XML-Element innerhalb dieses XML-Elements einen Parameter darstellt, der nach dem von ihm dargestellten Parameter benannt ist.

SOAP-Nachrichten, die RPCDocument sowohl im Format als auch im Format formatiert sind, können verwendet werden, um mit einem XML-Webdienst auf RPC-Weise (Remote Procedure Call) zu kommunizieren. Die Document Formatvorlage kann jedoch auch problemlos verwendet werden, um lose gekoppelt zu kommunizieren. Daher wird empfohlen, Document XML-Webdienste im Stil zu verwenden. Weitere Informationen finden Sie im Customizing SOAP Messages Thema.

Weitere Informationen finden Sie unter Anpassen der SOAP-Nachrichtenformatierung.

Dieses Attribut kann auf eine XML-Webdienstmethode auf dem Server und eine Proxyklasse auf dem Client angewendet werden. XML-Webdienstmethoden, für die die OneWay -Eigenschaft festgelegt ist true , haben keinen Zugriff auf ihre HttpContext. Daher gibt der Zugriff auf eine der Eigenschaften der WebService -Klasse zurück null.

Konstruktoren

SoapRpcMethodAttribute()

Initialisiert eine neue Instanz der SoapRpcMethodAttribute-Klasse und legt alle Eigenschaften auf deren Standardwerte fest.

SoapRpcMethodAttribute(String)

Initialisiert eine neue Instanz der SoapRpcMethodAttribute-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 Namen fest.

OneWay

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

RequestElementName

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

RequestNamespace

Ruft den XML-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 beim Aufruf der Methode verwendete Bindung 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