SoapDocumentMethodAttribute 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.
Wenn Sie die SoapDocumentMethodAttribute auf eine Methode anwenden, wird angegeben, dass SOAP-Nachrichten auf und von der Methode 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
- Attribute
Beispiele
Im folgenden Codebeispiel wird die Nachrichtenformatvorlage Document für die GetUserName XML-Webdienstmethode festgelegt. Darüber hinaus werden das XML-Element mit dem Element für die Body SOAP-Anforderung und die SOAP-Antwort auf GetUserNameRequest bzw GetUserNameResponse. die SOAP-Antwort festgelegt.
<%@ 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 Formatvorlagen für die Art und Weise, wie eine XML-Webdienstmethode, die einen Vorgang aufruft, in einer SOAP-Nachricht formatiert werden kann: RPC und Document.
Document bezieht sich auf die Formatierung der XML-Webdienstmethode gemäß einem XSD-Schema. Die Document Formatvorlage bezieht sich auf die Formatierung des Body Elements als Eine Reihe von mindestens einem Nachrichtenteil nach dem Body Element. Genau, wie die einzelnen Nachrichtenteile durch die und ParameterStyle die Use Eigenschaften bestimmt werden. Die Use Eigenschaft bestimmt, ob Parameter formatiert oder Literalformatiert Encoded sind. Die ParameterStyle Bestimmt, ob die Parameter innerhalb eines einzelnen Nachrichtenteils nach dem Body Element gekapselt werden 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
| Name | Beschreibung |
|---|---|
| SoapDocumentMethodAttribute() |
Initialisiert eine neue Instanz der SoapDocumentMethodAttribute-Klasse. |
| SoapDocumentMethodAttribute(String) |
Initialisiert eine neue Instanz der SoapDocumentMethodAttribute Klasse, wobei die Action Eigenschaft auf den Wert des |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Action |
Dient zum Abrufen oder Festlegen des |
| Binding |
Ruft die Bindung ab, für die eine XML-Webdienstmethode implementiert wird, oder legt sie fest. |
| OneWay |
Ruft ab oder legt fest, ob ein XML-Webdienstclient wartet, bis der Webserver die Verarbeitung einer XML-Webdienstmethode abgeschlossen hat. |
| ParameterStyle |
Ruft ab oder legt fest, ob Parameter innerhalb eines einzelnen XML-Elements unterhalb des |
| RequestElementName |
Ruft ab oder legt das XML-Element, das der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, die in einer Dienstbeschreibung als Vorgang definiert ist. |
| RequestNamespace |
Ruft den Namespace ab, der der SOAP-Anforderung für eine XML-Webdienstmethode zugeordnet ist, oder legt den Namespace fest. |
| 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 |
Dient zum Abrufen oder Festlegen der Parameterformatierung für eine XML-Webdienstmethode innerhalb des XML-Teils einer SOAP-Nachricht. |
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) |