SoapRpcMethodAttribute Klas

Definitie

Hiermee geeft u op dat SOAP-berichten die naar en van de methode worden verzonden, opmaak gebruiken RPC .

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
Overname
SoapRpcMethodAttribute
Kenmerken

Voorbeelden

In het volgende codevoorbeeld wordt de berichtstijl Rpc voor de GetUserName XML-webservicemethode ingesteld.

<%@ 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

Opmerkingen

WSDL (Web Services Description Language) definieert twee stijlen voor de manier waarop een XML-webservicemethode of -bewerking kan worden opgemaakt in een SOAP-bericht: RPC en Document. RPC opmaak verwijst naar het opmaken van de bewerking volgens de SOAP-specificatie voor het gebruik van SOAP voor RPC; ook wel sectie 7 van de SOAP-specificatie genoemd. RPC met opmaak wordt aangegeven dat alle parameters zijn ingekapseld binnen één XML-element dat is genoemd na de XML-webservicemethode en dat elk XML-element in dat XML-element een parameter vertegenwoordigt die is genoemd naar de parameter die deze vertegenwoordigt.

SOAP-berichten die zijn opgemaakt in zowel de als Document de RPC stijlen kunnen worden gebruikt om te communiceren met een XML-webservice op een RPC-manier (Remote Procedure Call). De Document stijl kan echter ook eenvoudig worden gebruikt om op een losjes gekoppelde manier te communiceren. Document Daarom wordt xml-webservices in stijl aanbevolen. Zie het Customizing SOAP Messages onderwerp voor meer informatie.

Zie SOAP-berichtopmaak aanpassen voor meer informatie.

Dit kenmerk kan worden toegepast op een XML-webservicemethode op de server en een proxyklasse op de client. XML-webservicemethoden waarvoor de OneWay eigenschap is ingesteld, true hebben geen toegang tot hun HttpContext. Als zodanig, toegang tot een van de eigenschappen van de WebService klasse retourneren null.

Constructors

Name Description
SoapRpcMethodAttribute()

Initialiseert een nieuw exemplaar van de SoapRpcMethodAttribute klasse en stelt alle eigenschappen in op de standaardwaarden.

SoapRpcMethodAttribute(String)

Initialiseert een nieuw exemplaar van de SoapRpcMethodAttribute klasse, waarbij de Action eigenschap wordt ingesteld op de waarde van de action parameter.

Eigenschappen

Name Description
Action

Hiermee haalt u het SOAPAction HTTP-headerveld van de SOAP-aanvraag op of stelt u deze in.

Binding

Haalt de binding op waarvoor een XML-webservicemethode een bewerking implementeert of stelt deze in.

OneWay

Hiermee haalt u op of stelt u in of een XML-webserviceclient wacht totdat de webserver klaar is met het verwerken van een XML-webservicemethode.

RequestElementName

Hiermee haalt u het XML-element op dat is gekoppeld aan de SOAP-aanvraag voor een XML-webservicemethode.

RequestNamespace

Hiermee wordt de XML-naamruimte opgehaald of ingesteld die is gekoppeld aan de SOAP-aanvraag voor een XML-webservicemethode.

ResponseElementName

Hiermee haalt u het XML-element op dat is gekoppeld aan het SOAP-antwoord voor een XML-webservicemethode.

ResponseNamespace

Hiermee haalt u de XML-naamruimte op die is gekoppeld aan het SOAP-antwoord voor een XML-webservicemethode.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)
Use

Hiermee haalt u de binding op die wordt gebruikt bij het aanroepen van de methode.

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op

Zie ook