SoapDocumentMethodAttribute Osztály

Definíció

A metódus alkalmazása azt határozza meg, hogy a SoapDocumentMethodAttribute SOAP-üzenetek formázást használnak-e Document a metódushoz.

public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
    inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
Öröklődés
SoapDocumentMethodAttribute
Attribútumok

Példák

Az alábbi példakód az XML Web Service metódus üzenetstílusát DocumentGetUserName állítja be. Emellett a SOAP-kérés és a SOAP-válasz Body elemét tartalmazó GetUserNameRequest XML-elem értéke és GetUserNameResponseértéke is.

<%@ WebService Language="C#" class="MyUser" %>
 using System;
 using System.Web.Services;
 using System.Web.Services.Protocols;
 
 public class MyUser : WebService {
 
       [ SoapDocumentMethod(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 the domain name out of 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    
    
    <SoapDocumentMethod(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 the domain name out of 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

Megjegyzések

A Web Services Description Language (WSDL) két stílust határoz meg ahhoz, hogy az XML Web Service metódus, amelyet egy műveletet hív meg, hogyan formázható egy SOAP-üzenetben: RPC és Document. Document az XML Web Service metódus XSD-séma szerinti formázására hivatkozik. A Document stílus arra utal, hogy az Body elemet egy vagy több üzenetrész sorozataként formázta az Body elem után. Az egyes üzenetrészek pontos meghatározása és UseParameterStyle tulajdonságai. A Use tulajdonság határozza meg, hogy a paraméterek formázva Encoded vannak-e vagy Literal. Ez ParameterStyle határozza meg, hogy a paraméterek egyetlen üzenetrészbe vannak-e beágyazva az Body elem után, vagy hogy az egyes paraméterek különálló üzenetrészek-e.

További részletekért lásd: SOAP-üzenetformázás testreszabása.

Ez az attribútum alkalmazható a kiszolgálón található XML Web Service-metódusra és az ügyfél proxyosztályának metódusára is.

Konstruktorok

Name Description
SoapDocumentMethodAttribute()

Inicializálja a SoapDocumentMethodAttribute osztály új példányát.

SoapDocumentMethodAttribute(String)

Inicializálja az SoapDocumentMethodAttribute osztály új példányát, és a Action tulajdonságot a action paraméter értékére állítja.

Tulajdonságok

Name Description
Action

Lekéri vagy beállítja a SOAPAction SOAP-kérelem HTTP-fejléc mezőjét.

Binding

Lekéri vagy beállítja azt a kötést, amelyhez egy XML Web Service-metódus implementál egy műveletet.

OneWay

Lekérdezi vagy beállítja, hogy egy XML-webszolgáltatás-ügyfél megvárja-e, amíg a webkiszolgáló befejezi az XML-webszolgáltatás-metódus feldolgozását.

ParameterStyle

Lekérdezi vagy beállítja, hogy a paraméterek egyetlen XML-elembe vannak-e beágyazva egy Body SOAP-üzenet XML-részének eleme alatt.

RequestElementName

Lekéri vagy beállítja a SOAP-kérelemhez társított XML-elemet egy XML-webszolgáltatás-metódushoz, amely a szolgáltatás leírásában műveletként van definiálva.

RequestNamespace

Lekéri vagy beállítja az XML-webszolgáltatás-metódus SOAP-kéréséhez társított névteret.

ResponseElementName

Lekéri vagy beállítja az XML-webszolgáltatás-metódus SOAP-válaszához társított XML-elemet.

ResponseNamespace

Lekéri vagy beállítja az XML-webszolgáltatás-metódus SOAP-válaszához társított XML-névteret.

TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)
Use

Lekéri vagy beállítja egy XML-webszolgáltatás-metódus paraméterformázását egy SOAP-üzenet XML-részén belül.

Metódusok

Name Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

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

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes:

Lásd még