Udostępnij za pośrednictwem


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)>]
type SoapRpcMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
Dziedziczenie
SoapRpcMethodAttribute
Atrybuty

Przykłady

Poniższy przykład kodu ustawia styl komunikatu dla RpcGetUserName 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 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 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)

Dotyczy

Zobacz też