SoapRpcMethodAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje, že zprávy SOAP odeslané do metody a z metody používají RPC
formátování.
public ref class SoapRpcMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapRpcMethodAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)]
public sealed class SoapRpcMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapRpcMethodAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=true)>]
type SoapRpcMethodAttribute = class
inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
- Dědičnost
- Atributy
Příklady
Následující příklad kódu nastaví styl zprávy pro Rpc
metodu GetUserName
webové služby XML.
<%@ 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
Poznámky
Jazyk WSDL (Web Services Description Language) definuje dva styly způsobu formátování metody webové služby XML nebo operace ve zprávě SOAP: RPC
a Document
. RPC
formátování odkazuje na formátování operace podle specifikace SOAP pro použití SOAP pro RPC; jinak označované jako oddíl 7 specifikace SOAP. RPC
formátování uvádí, že všechny parametry jsou zapouzdřeny do jednoho elementu XML pojmenovaného po metodě webové služby XML a že každý element XML v daném elementu XML představuje parametr pojmenovaný po parametru, který představuje.
Zprávy SOAP formátované jak ve stylu, tak RPC
Document
i styly, je možné použít ke komunikaci s webovou službou XML způsobem vzdáleného volání procedur (RPC). Tento styl se ale Document
dá snadno použít ke komunikaci volně shodným způsobem. Document
Proto se doporučuje styl webových služeb XML. Další podrobnosti najdete v tématu Customizing SOAP Messages
.
Další podrobnosti najdete v tématu Přizpůsobení formátování zpráv SOAP.
Tento atribut lze použít u metody webové služby XML na serveru a třídy proxy na klientovi. Metody webové služby XML, které mají nastavenou OneWay true
vlastnost nemají přístup k jejich HttpContext. Například přístup k libovolné vlastnosti WebService třídy return null
.
Konstruktory
SoapRpcMethodAttribute() |
Inicializuje novou instanci SoapRpcMethodAttribute třídy a nastaví všechny vlastnosti na jejich výchozí hodnoty. |
SoapRpcMethodAttribute(String) |
Inicializuje novou instanci SoapRpcMethodAttribute třídy a nastaví Action vlastnost na hodnotu parametru |
Vlastnosti
Action |
Získá nebo nastaví pole hlavičky |
Binding |
Získá nebo nastaví vazbu, pro kterou metoda webové služby XML implementuje operaci. |
OneWay |
Získá nebo nastaví, zda klient webové služby XML čeká na dokončení zpracování metody webové služby XML. |
RequestElementName |
Získá nebo nastaví XML element asociované s žádostí SOAP pro metodu webové služby XML. |
RequestNamespace |
Získá nebo nastaví obor názvů XML přidružený k požadavku SOAP pro metodu webové služby XML. |
ResponseElementName |
Získá nebo nastaví XML element asociované s odpovědí SOAP pro metodu webové služby XML. |
ResponseNamespace |
Získá nebo nastaví obor názvů XML přidružený k odpovědi SOAP pro metodu webové služby XML. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
Use |
Získá nebo nastaví vazbu použitou při vyvolání metody. |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou odvozené třídy. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní. (Zděděno od Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |