SoapRpcMethodAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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 RPC
Document
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 |
Eigenschaften
Action |
Ruft das |
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) |