MessageHeaders Klasse

Definition

Stellt eine Auflistung von Nachrichtenheadern für eine Nachricht dar.Represents a collection of message headers for a message. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class MessageHeaders sealed : System::Collections::Generic::IEnumerable<System::ServiceModel::Channels::MessageHeaderInfo ^>
public sealed class MessageHeaders : System.Collections.Generic.IEnumerable<System.ServiceModel.Channels.MessageHeaderInfo>
type MessageHeaders = class
    interface seq<MessageHeaderInfo>
    interface IEnumerable
Public NotInheritable Class MessageHeaders
Implements IEnumerable(Of MessageHeaderInfo)
Vererbung
MessageHeaders
Implementiert

Beispiele

Das folgende Codebeispiel zeigt einen grundlegenden Client, der die Kanalfactory zum Senden einer Nachricht und zum Lesen des Aktionsheaders aus der Antwort verwendet.The following code example demonstrates a basic client using the channel factory to send a message and read the action header from the reply.

using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Runtime.Serialization;

namespace ConsoleApplication1
{
    class client
    {


        static void RunClient()
        {
            //Step1: create a binding with just HTTP
            CustomBinding binding = new CustomBinding();
            binding.Elements.Add(new HttpTransportBindingElement());
            //Step2: use the binding to build the channel factory
            IChannelFactory<IRequestChannel> factory =
            binding.BuildChannelFactory<IRequestChannel>(
                             new BindingParameterCollection());
            //open the channel factory
            factory.Open();
            //Step3: use the channel factory to create a channel
            IRequestChannel channel = factory.CreateChannel(
               new EndpointAddress("http://localhost:8080/channelapp"));
            channel.Open();
            //Step4: create a message
            Message requestmessage = Message.CreateMessage(
                MessageVersion.Soap12WSAddressing10,
                "http://contoso.com/someaction",
                 "This is the body data");
            //send message
            Message replymessage = channel.Request(requestmessage);
            Console.WriteLine("Reply message received");
            Console.WriteLine("Reply action: {0}",
                                  replymessage.Headers.Action);
            string data = replymessage.GetBody<string>();
            Console.WriteLine("Reply content: {0}", data);
            //Step5: don't forget to close the message
            requestmessage.Close();
            replymessage.Close();
            //don't forget to close the channel
            channel.Close();
            //don't forget to close the factory
            factory.Close();
        }
        public static void Main()
        {
            Console.WriteLine("Press [ENTER] when service is ready");
            Console.ReadLine();
            RunClient();
            Console.WriteLine("Press [ENTER] to exit");
            Console.ReadLine();
        }
    }
}


Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.Runtime.Serialization

Namespace ConsoleApplication1
    Friend Class client


        Private Shared Sub RunClient()
            'Step1: create a binding with just HTTP
            Dim binding As New CustomBinding()
            binding.Elements.Add(New HttpTransportBindingElement())
            'Step2: use the binding to build the channel factory
            Dim factory As IChannelFactory(Of IRequestChannel) = binding.BuildChannelFactory(Of IRequestChannel)(New BindingParameterCollection())
            'open the channel factory
            factory.Open()
            'Step3: use the channel factory to create a channel
            Dim channel As IRequestChannel = factory.CreateChannel(New EndpointAddress("http://localhost:8080/channelapp"))
            channel.Open()
            'Step4: create a message
            Dim requestmessage As Message = Message.CreateMessage(MessageVersion.Soap12WSAddressing10, "http://contoso.com/someaction", "This is the body data")
            'send message
            Dim replymessage As Message = channel.Request(requestmessage)
            Console.WriteLine("Reply message received")
            Console.WriteLine("Reply action: {0}", replymessage.Headers.Action)
            Dim data = replymessage.GetBody(Of String)()
            Console.WriteLine("Reply content: {0}", data)
            'Step5: don't forget to close the message
            requestmessage.Close()
            replymessage.Close()
            'don't forget to close the channel
            channel.Close()
            'don't forget to close the factory
            factory.Close()
        End Sub
        Public Shared Sub Main()
            Console.WriteLine("Press [ENTER] when service is ready")
            Console.ReadLine()
            RunClient()
            Console.WriteLine("Press [ENTER] to exit")
            Console.ReadLine()
        End Sub
    End Class
End Namespace

Hinweise

Ein Nachrichtenheader enthält optionale Metadaten, die eine von der Message-Klasse gekapselte Nachricht beschreiben.A message header contains optional metadata that describe a message encapsulated by the Message class.

Message kann über 0 (null) oder mehr Header verfügen, die als Erweiterungsmechanismus zur Weitergabe von Informationen an die anwendungsspezifischen Nachrichten verwendet werden.A Message can have zero or more headers that are used as an extension mechanism to pass information in messages that are application-specific. Sie können Headers verwenden, um einer Nachricht Nachrichtenheader hinzuzufügen, indem Sie die Add-Methode aufrufen.You can use Headers to add message headers to a message by calling the Add method.

Windows Communication Foundation (WCF) stellt eine Reihe vordefinierter Nachrichten Header bereit:Windows Communication Foundation (WCF) provides a number of predefined message headers:

HeadernameHeader Name BeschreibungDescription
BeschreibungTo Enthält die Rolle, auf die die Nachricht abzielt.Contains the role that the message is targeting.
AktionAction Beschreibt, wie die Nachricht verarbeitet werden sollte.Provides a description of how the message should be processed.
FaultToFaultTo Enthält die Adresse des Knotens, an den Fehler gesendet werden sollten.Contains the address of the node to which faults should be sent.
VonFrom Enthält die Adresse des Knotens, der die Nachricht gesendet hat.Contains the address of the node that sent the message.
AnforderungRequest Gibt an, ob die Nachricht eine Anforderung ist.Indicates whether the message is a request.
MessageIDMessageID Enthält die eindeutige ID der Nachricht.Contains the unique ID of the message.
RelatesToRelatesTo Enthält die IDs der Nachrichten, die zu dieser Nachricht gehören.Contains the IDs of messages that are related to this message.
ReplyToReplyTo Enthält die Adresse des Knotens, an den für eine Anforderung eine Antwort gesendet werden soll.Contains the address of the node to which a reply should be sent for a request.

Konstruktoren

MessageHeaders(MessageHeaders)

Initialisiert eine neue Instanz der MessageHeaders-Klasse mit der angegebenen Auflistung von Nachrichtenheadern.Initializes a new instance of the MessageHeaders class with the specified collection of message headers.

MessageHeaders(MessageVersion)

Initialisiert eine neue Instanz der MessageHeaders-Klasse mit der angegebenen Nachrichtenversion.Initializes a new instance of the MessageHeaders class with the specified message version.

MessageHeaders(MessageVersion, Int32)

Initialisiert eine neue Instanz der MessageHeaders-Klasse mit der angegebenen Nachrichtenversion und -größe.Initializes a new instance of the MessageHeaders class with the specified message version and size.

Eigenschaften

Action

Ruft eine Beschreibung ab, oder legt fest, wie die Nachricht verarbeitet werden sollte.Gets or sets a description of how the message should be processed.

Count

Ruft die Anzahl der Nachrichtenheader in dieser Auflistung ab.Gets the number of message headers in this collection.

FaultTo

Ruft die Adresse des Knotens ab, an den Fehler gesendet werden sollten, oder legt sie fest.Gets or sets the address of the node to which faults should be sent.

From

Ruft die Adresse des Knotens ab, der die Nachricht gesendet hat, oder legt sie fest.Gets or sets the address of the node that sent the message.

Item[Int32]

Ruft einen Header am angegebenen Index ab.Retrieves a header at the given index.

MessageId

Ruft die eindeutige ID der Nachricht ab, oder legt diese fest.Gets or sets the unique ID of the message.

MessageVersion

Ruft die SOAP-Version der Nachricht ab.Gets the SOAP version of the message.

RelatesTo

Ruft die IDs der Nachrichten ab, die zu dieser Nachricht gehören.Gets the IDs of messages that are related to this message.

ReplyTo

Ruft die Adresse des Knotens ab, an den für eine Anforderung eine Antwort gesendet werden soll, oder legt sie fest.Gets or sets the address of the node to which a reply should be sent for a request.

To

Ruft den Zielendpunkt einer Nachricht ab, oder legt ihn fest.Gets or sets the destination endpoint of a message.

UnderstoodHeaders

Ruft alle Nachrichtenheader ab, die interpretiert werden müssen, gemäß der SOAP 1.1/1.2-Spezifikation.Gets all the message headers that must be understood, according to SOAP 1.1/1.2 specification.

Methoden

Add(MessageHeader)

Fügt der Sammlung den angegebenen Nachrichtenheader hinzu.Adds the specified message header to the collection.

Clear()

Entfernt alle Header aus der Auflistung.Removes all the headers from the collection.

CopyHeaderFrom(Message, Int32)

Kopiert den Headerinhalt am angegebenen Index aus einer angegebenen Nachricht in diese Instanz.Copies the header content located at the specified index from the specified message to this instance.

CopyHeaderFrom(MessageHeaders, Int32)

Kopiert den Headerinhalt am angegebenen Index aus einer angegebenen Nachrichtenheader-Auflistung in diese Instanz.Copies the header content located at the specified index from the specified message header collection to this instance.

CopyHeadersFrom(Message)

Kopiert den Inhalt aller Header aus der angegebenen Nachricht in diese Instanz.Copies the content of all the headers from the specified message to this instance.

CopyHeadersFrom(MessageHeaders)

Kopiert den Inhalt aus der angegebenen Headerauflistung in diese Instanz.Copies the content from the specified header collection to this instance.

CopyTo(MessageHeaderInfo[], Int32)

Kopiert die Header aus dieser Auflistung in ein Array, wobei an einem bestimmten Index des Arrays begonnen wird.Copies the headers from this collection to an array, starting at a particular index of the array.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
FindHeader(String, String)

Sucht einen Nachrichtenheader in dieser Auflistung anhand des angegebenen LocalName und des Namespace-URI der Headerelemente.Finds a message header in this collection by the specified LocalName and namespace URI of the header element.

FindHeader(String, String, String[])

Sucht einen Nachrichtenheader in dieser Auflistung anhand des angegebenen LocalName, des Namespace-URI und der Aktoren der Headerelemente.Finds a message header in this collection by the specified LocalName, namespace URI and actors of the header element.

GetEnumerator()

Gibt einen Enumerator zum Durchlaufen der Auflistung zurück.Returns an enumerator for iterating through the collection. Diese Methode kann nicht vererbt werden.This method cannot be inherited.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetHeader<T>(Int32)

Empfängt einen Nachrichtenheader an einer bestimmten Position in dieser Auflistung.Retrieves a message header at a specific position in this collection.

GetHeader<T>(Int32, XmlObjectSerializer)

Empfängt einen Nachrichtenheader an einer bestimmten Position in dieser Auflistung.Retrieves a message header at a specific position in this collection.

GetHeader<T>(String, String)

Sucht einen Nachrichtenheader in dieser Auflistung anhand des angegebenen LocalName und des Namespace-URI der Headerelemente.Finds a message header in this collection by the specified LocalName and namespace URI of the header element.

GetHeader<T>(String, String, String[])

Empfängt einen Nachrichtenheader in dieser Auflistung anhand des angegebenen LocalName, des Namespace-URI und der Aktoren der Headerelemente.Retrieves a message header in this collection by the specified LocalName, namespace URI and actors of the header element.

GetHeader<T>(String, String, XmlObjectSerializer)

Empfängt einen Nachrichtenheader in dieser Auflistung anhand des angegebenen LocalName, des Namespace-URI und des Serialisierungsprogramms.Retrieves a message header in this collection by the specified LocalName, namespace URI and serializer.

GetReaderAtHeader(Int32)

Ruft einen XML-Wörterbuchreader ab, der den Nachrichtenheader am angegebenen Speicherort der Auflistung verwendet.Gets a XML dictionary reader that consumes the message header at the specified location of the collection.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
HaveMandatoryHeadersBeenUnderstood()

Überprüft, ob alle mit MustUnderstand markierten Nachrichtenheader ordnungsgemäß interpretiert und verarbeitet wurden.Verifies whether all the message headers marked with MustUnderstand have been properly interpreted and processed.

HaveMandatoryHeadersBeenUnderstood(String[])

Überprüft, ob die angegebenen Empfänger alle mit MustUnderstand markierten Nachrichtenheader ordnungsgemäß interpretiert und verarbeitet.Verifies whether the specified recipients have properly interpreted and processed all the message headers marked with MustUnderstand.

Insert(Int32, MessageHeader)

Fügt einen Nachrichtenheader beim angegebenen Index in die Auflistung ein.Inserts a message header into the collection at the specified index.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
RemoveAll(String, String)

Entfernt alle Header mit dem angegebenen Namen und Namespace aus der Auflistung.Removes all headers with the specified name and namespace from the collection.

RemoveAt(Int32)

Entfernt den Nachrichtenheader am angegebenen Index aus der Auflistung.Removes the message header at the specified index from the collection.

SetAction(XmlDictionaryString)

Legt das Action-Element des Headers fest.Sets the action element of the header.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
WriteHeader(Int32, XmlDictionaryWriter)

Serialisiert den Header am angegebenen Speicherort mit dem angegebenen XML-Writer.Serializes the header from the specified location using the specified XML writer.

WriteHeader(Int32, XmlWriter)

Serialisiert den Header am angegebenen Speicherort mit dem angegebenen XML-Writer.Serializes the header from the specified location using the specified XML writer.

WriteHeaderContents(Int32, XmlDictionaryWriter)

Serialisiert den angegebenen Headerinhalt mit dem angegebenen XML-Writer.Serializes the specified header content using the specified XML writer.

WriteHeaderContents(Int32, XmlWriter)

Serialisiert den angegebenen Headerinhalt mit dem angegebenen XML-Writer.Serializes the specified header content using the specified XML writer.

WriteStartHeader(Int32, XmlDictionaryWriter)

Serialisiert den Startheader mit dem angegebenen XML-Writer.Serializes the start header using the specified XML writer.

WriteStartHeader(Int32, XmlWriter)

Serialisiert den Startheader mit dem angegebenen XML-Writer.Serializes the start header using the specified XML writer.

Explizite Schnittstellenimplementierungen

IEnumerable.GetEnumerator()

Gibt einen Enumerator zum Durchlaufen der Auflistung zurück.Returns an enumerator for iterating through the collection. Diese Methode kann nicht vererbt werden.This method cannot be inherited.

Erweiterungsmethoden

CopyToDataTable<T>(IEnumerable<T>)

Gibt eine DataTable zurück, die Kopien der DataRow-Objekte enthält, wenn ein IEnumerable<T>-Eingabeobjekt vorhanden ist, bei dem der generische Parameter T den Wert DataRow hat.Returns a DataTable that contains copies of the DataRow objects, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)

Kopiert DataRow-Objekte in die angegebene DataTable, bei einem IEnumerable<T>-Eingabeobjekt, bei dem der generische Parameter T den Wert DataRow aufweist.Copies DataRow objects to the specified DataTable, given an input IEnumerable<T> object where the generic parameter T is DataRow.

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Ancestors<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a collection of elements that contains the ancestors of every node in the source collection.

Ancestors<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die übergeordneten Elemente der einzelnen Knoten in der Quellauflistung enthält.Returns a filtered collection of elements that contains the ancestors of every node in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

DescendantNodes<T>(IEnumerable<T>)

Gibt eine Auflistung der Nachfolgerknoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the descendant nodes of every document and element in the source collection.

Descendants<T>(IEnumerable<T>)

Gibt eine Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a collection of elements that contains the descendant elements of every element and document in the source collection.

Descendants<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung von Elementen zurück, die die Nachfolgerelemente jedes Elements und Dokuments in der Quellauflistung enthält.Returns a filtered collection of elements that contains the descendant elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

Elements<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a collection of the child elements of every element and document in the source collection.

Elements<T>(IEnumerable<T>, XName)

Gibt eine gefilterte Auflistung der untergeordneten Elemente jedes Elements und Dokuments in der Quellauflistung zurück.Returns a filtered collection of the child elements of every element and document in the source collection. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.Only elements that have a matching XName are included in the collection.

InDocumentOrder<T>(IEnumerable<T>)

Gibt eine in Dokumentreihenfolge sortierte Auflistung von Knoten zurück, die alle Knoten in der Quellauflistung enthält.Returns a collection of nodes that contains all nodes in the source collection, sorted in document order.

Nodes<T>(IEnumerable<T>)

Gibt eine Auflistung der untergeordneten Knoten jedes Dokuments und Elements in der Quellauflistung zurück.Returns a collection of the child nodes of every document and element in the source collection.

Remove<T>(IEnumerable<T>)

Entfernt jeden Knoten in der Quellauflistung aus seinem übergeordneten Knoten.Removes every node in the source collection from its parent node.

Gilt für: