SoapRpcMethodAttribute Klasa

Definicja

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, 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
Dziedziczenie
SoapRpcMethodAttribute
Atrybuty

Przykłady

Poniższy przykład kodu ustawia styl komunikatu na Rpc dla 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 formatowania metody lub operacji usługi sieci Web XML w komunikacie PROTOKOŁU 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 na cześć metody usługi sieci Web XML i że każdy element XML w tym elemecie XML reprezentuje parametr o nazwie po reprezentowanym parametrze.

Komunikaty protokołu SOAP sformatowane zarówno w stylach, RPC jak i Document mogą służyć do komunikowania się z usługą sieci Web 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. W związku z Document tym zalecane są usługi sieci Web XML 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ą właściwość ustawioną OneWay na true wartość , nie mają dostępu do elementu HttpContext. W związku z tym uzyskanie dostępu do dowolnych właściwości WebService klasy zwraca wartość null.

Konstruktory

SoapRpcMethodAttribute()

Inicjuje SoapRpcMethodAttribute nowe wystąpienie klasy, ustawiając wszystkie właściwości na ich wartości domyślne.

SoapRpcMethodAttribute(String)

Inicjuje SoapRpcMethodAttribute nowe wystąpienie klasy, ustawiając Action właściwość na wartość parametru action .

Właściwości

Action

Pobiera lub ustawia SOAPAction pole nagłówka HTTP żądania SOAP.

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 PROTOKOŁU 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 Attributeelementu .

(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 wartość bieżącego wystąpienia.

(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)

Po przesłonięciu 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 dla obiektu, który może służyć do pobierania informacji o typie dla 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)

Dotyczy

Zobacz też