Aracılığıyla paylaş


SoapHeaderAttribute Sınıf

Tanım

Bu öznitelik, XML Web hizmeti yönteminin veya XML Web hizmeti istemcisinin işleyebileceği bir SOAP üst bilgisi belirtmek için bir XML Web hizmeti yöntemine veya XML Web hizmeti istemcisine uygulanır. Bu sınıf devralınamaz.

public ref class SoapHeaderAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)]
public sealed class SoapHeaderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)]
public sealed class SoapHeaderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)>]
type SoapHeaderAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)>]
type SoapHeaderAttribute = class
    inherit Attribute
Public NotInheritable Class SoapHeaderAttribute
Inherits Attribute
Devralma
SoapHeaderAttribute
Öznitelikler

Örnekler

Aşağıdaki MyWebService XML Web hizmeti türünden MyHeaderbirini SoapHeader tanımlar. Hello XML Web hizmeti yöntemi, istemcinin xml web hizmeti yöntemini bu SoapHeaderile çağırmasını gerektirir. Hello XML Web hizmeti, dışındaki MyHeaderSOAP üst bilgilerini de yakalar.

<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;

// Define a SOAP header by deriving from the SoapHeader base class.
// The header contains just one string value.
public class MyHeader : SoapHeader {
    public string MyValue;
}

public class MyWebService {
    // Member variable to receive the contents of the MyHeader SoapHeader.
    public MyHeader myHeader;

    // Member variable to receive all headers other than MyHeader.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    // Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders")]
    public void Hello() {

       // Process the MyHeader SoapHeader.
       if (myHeader.MyValue == "Some string") {
          // Process the header.
       }
       foreach (SoapHeader header in unknownHeaders) {
           // Perform some processing on header.
           
           // For those headers that cannot be processed,
           // set the DidUnderstand property to false.
           header.DidUnderstand = false;
       }
    }
}
<%@ WebService Language="VB" Class="MyWebService"%>
Imports System.Web.Services
Imports System.Web.Services.Protocols

' Define a SOAP header by deriving from the SoapHeader base class.
' The header contains just one string value.
Public Class MyHeader
    Inherits SoapHeader
    Public MyValue As String
End Class

Public Class MyWebService
    ' Member variable to receive the contents of the MyHeader SoapHeader.
    Public myHeader As MyHeader
    
    ' Member variable to receive all headers other than MyHeader.
    Public unknownHeaders() As SoapUnknownHeader
    
    ' Receive any SOAP headers other than MyHeader.
    <WebMethod, _
        SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut), _
        SoapHeader("unknownHeaders")> _
    Public Sub Hello()        
        
        ' Process the MyHeader SoapHeader.
        If myHeader.MyValue = "Some string" Then
            ' Process the header.
        End If 
        Dim header As SoapHeader
        For Each header In  unknownHeaders
            ' Perform some processing on header
            ' For those headers that cannot be processed, 
            ' set the DidUnderstand to false.
            header.DidUnderstand = False
        Next header
    End Sub
End Class

Açıklamalar

SOAP üst bilgisini alma ve işlemenin temel adımları şunlardır:

  1. SOAP üst bilgisinde geçirilen verileri temsil eden öğesinden SoapHeader türetilen bir sınıf oluşturun.

    1. adımda oluşturulan türün XML Web hizmeti sınıfına veya XML Web hizmeti istemci proxy sınıfına bir üye ekleyin.
  2. SoapHeaderAttribute XML Web hizmeti yöntemine veya proxy sınıfında karşılık gelen yönteme bir uygulayın ve özelliğinde 2. adımda oluşturulan üyeyi MemberName belirtin.

  3. XML Web hizmeti yöntemi veya XML Web hizmeti istemci kodu içinde, SOAP üst bilgisinde gönderilen verileri işlemek için özelliğine erişin MemberName .

Diğer ayrıntılar için özelliğine MemberName bakın.

Oluşturucular

SoapHeaderAttribute(String)

SOAP üst bilgisi içeriğini temsil eden XML Web hizmeti sınıfının üyesini ayarlayarak sınıfının yeni bir örneğini SoapHeaderAttribute başlatır.

Özellikler

Direction

SOAP üst bilgisinin XML Web hizmetine mi yoksa XML Web hizmeti istemcisine mi yoksa her ikisine mi yönelik olduğunu alır veya ayarlar.

MemberName

SOAP üst bilgisi içeriğini temsil eden XML Web hizmeti sınıfının üyesini alır veya ayarlar.

Required
Kullanımdan kalktı.

Bu üye kullanımdan kaldırıldı ve işlevselliği yok.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.