Freigeben über


SoapRpcMethodAttribute Klasse

Definition

Gibt an, dass SOAP-Nachrichten, die an und von der Methode gesendet werden, 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 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 Formatvorlagen für die Art und Weise, wie eine XML-Webdienstmethode oder ein Vorgang in einer SOAP-Nachricht formatiert werden kann: RPC und Document. RPC Formatierung bezieht sich auf die Formatierung des Vorgangs gemäß der SOAP-Spezifikation für die Verwendung von SOAP für RPC; andernfalls als Abschnitt 7 der SOAP-Spezifikation bekannt. RPC Formatierungszustände, dass alle Parameter innerhalb eines einzelnen XML-Elements 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 sowohl in den Formaten Document als auch in den RPC Formaten formatiert sind, können verwendet werden, um mit einem XML-Webdienst auf Remoteprozeduraufrufe (REMOTE Procedure Call, RPC) zu kommunizieren. Die Document Formatvorlage kann jedoch auch problemlos verwendet werden, um lose gekoppelt zu kommunizieren. Document Daher wird Formatvorlagen-XML-Webdienste empfohlen. 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 deren HttpContext. So greifen Sie auf eine der Eigenschaften der WebService Klasse zurück null.

Konstruktoren

Name Beschreibung
SoapRpcMethodAttribute()

Initialisiert eine neue Instanz der SoapRpcMethodAttribute Klasse, wobei alle Eigenschaften auf ihre Standardwerte festgelegt werden.

SoapRpcMethodAttribute(String)

Initialisiert eine neue Instanz der SoapRpcMethodAttribute Klasse, wobei die Action Eigenschaft auf den Wert des action Parameters festgelegt wird.

Eigenschaften

Name Beschreibung
Action

Dient zum Abrufen oder Festlegen des SOAPAction HTTP-Headerfelds der SOAP-Anforderung.

Binding

Dient zum Abrufen oder Festlegen der Bindung, für die eine XML-Webdienstmethode einen Vorgang implementiert.

OneWay

Ruft ab oder legt fest, ob ein XML-Webdienstclient wartet, bis der Webserver die Verarbeitung einer XML-Webdienstmethode abgeschlossen hat.

RequestElementName

Dient zum Abrufen oder Festlegen des XML-Elements, das der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist.

RequestNamespace

Dient zum Abrufen oder Festlegen des XML-Namespace, der der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist.

ResponseElementName

Dient zum Abrufen oder Festlegen des XML-Elements, das der SOAP-Antwort für eine XML-Webdienstmethode zugeordnet ist.

ResponseNamespace

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

TypeId

Wenn sie in einer abgeleiteten Klasse implementiert wird, wird ein eindeutiger Bezeichner für diese Attribute.

(Geerbt von Attribute)
Use

Ruft die Bindung ab, die beim Aufrufen der Methode verwendet wird, oder legt sie fest.

Methoden

Name Beschreibung
Equals(Object)

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

(Geerbt von Attribute)
GetHashCode()

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

(Geerbt von Attribute)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
_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 denen 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)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für:

Weitere Informationen