SoapRpcMethodAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Określa, że komunikaty PROTOKOŁU SOAP wysyłane do i z metody używają RPC
formatowania.
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
- Dziedziczenie
- Atrybuty
Przykłady
Poniższy przykład kodu ustawia styl komunikatu dla Rpc
GetUserName
metody usługi sieci Web 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
Uwagi
Język opisu usług sieci Web (WSDL) definiuje dwa style sposobu lub operacji usługi sieci Web XML, które można sformatować w komunikacie SOAP: RPC
i Document
.
RPC
formatowanie odnosi się do formatowania operacji zgodnie ze specyfikacją protokołu SOAP do używania protokołu SOAP dla RPC; inaczej znany jako sekcja 7 specyfikacji PROTOKOŁU SOAP.
RPC
formatowanie stwierdza, że wszystkie parametry są hermetyzowane w ramach pojedynczego elementu XML o nazwie po metodzie usługi sieci Web XML i że każdy element XML w tym elemplecie XML reprezentuje parametr o nazwie po parametrze, który reprezentuje.
Komunikaty protokołu SOAP sformatowane zarówno w stylu, RPC
jak i Document
mogą służyć do komunikowania się z usługą internetową XML w sposób zdalny wywołania procedury (RPC), jednak Document
styl może być również łatwo używany do komunikowania się w luźno powiązany sposób.
Document
Dlatego zaleca się stosowanie usług sieci Web XML w stylu. Aby uzyskać więcej informacji, zobacz Customizing SOAP Messages
temat.
Aby uzyskać więcej informacji, zobacz Dostosowywanie formatowania komunikatów PROTOKOŁU SOAP.
Ten atrybut można zastosować do metody usługi sieci Web XML na serwerze i klasy serwera proxy na kliencie. Metody usługi sieci Web XML, które mają ustawioną OneWay właściwość , nie true
mają dostępu do ich HttpContext. W związku z tym uzyskiwanie dostępu do dowolnych WebService właściwości klasy zwraca wartość null
.
Konstruktory
SoapRpcMethodAttribute() |
Inicjuje SoapRpcMethodAttribute nowe wystąpienie klasy, ustawiając wszystkie właściwości na wartości domyślne. |
SoapRpcMethodAttribute(String) |
Inicjuje SoapRpcMethodAttribute nowe wystąpienie klasy, ustawiając Action właściwość na wartość parametru |
Właściwości
Action |
Pobiera lub ustawia |
Binding |
Pobiera lub ustawia powiązanie, dla którego metoda usługi sieci Web XML implementuje operację. |
OneWay |
Pobiera lub ustawia, czy klient usługi sieci Web XML czeka na zakończenie przetwarzania metody usługi sieci Web XML. |
RequestElementName |
Pobiera lub ustawia element XML skojarzony z żądaniem SOAP dla metody usługi sieci Web XML. |
RequestNamespace |
Pobiera lub ustawia przestrzeń nazw XML skojarzona z żądaniem SOAP dla metody usługi sieci Web XML. |
ResponseElementName |
Pobiera lub ustawia element XML skojarzony z odpowiedzią PROTOKOŁU SOAP dla metody usługi sieci Web XML. |
ResponseNamespace |
Pobiera lub ustawia przestrzeń nazw XML skojarzona z odpowiedzią protokołu SOAP dla metody usługi sieci Web XML. |
TypeId |
Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego elementu Attribute. (Odziedziczone po Attribute) |
Use |
Pobiera lub ustawia powiązanie używane podczas wywoływania metody. |
Metody
Equals(Object) |
Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Zwraca wartość skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
IsDefaultAttribute() |
W przypadku zastąpienia w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną klasy pochodnej. (Odziedziczone po Attribute) |
Match(Object) |
W przypadku zastąpienia w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Pobiera informacje o typie obiektu, którego można użyć do pobrania informacji o typie interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt. (Odziedziczone po Attribute) |