Message.Headers Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Wanneer deze worden overschreven in een afgeleide klasse, worden de kopteksten van het bericht opgevraagd.
public:
abstract property System::ServiceModel::Channels::MessageHeaders ^ Headers { System::ServiceModel::Channels::MessageHeaders ^ get(); };
public abstract System.ServiceModel.Channels.MessageHeaders Headers { get; }
member this.Headers : System.ServiceModel.Channels.MessageHeaders
Public MustOverride ReadOnly Property Headers As MessageHeaders
Waarde van eigenschap
Een MessageHeaders object dat de kopteksten van het bericht vertegenwoordigt.
Uitzonderingen
Het bericht is verwijderd.
Voorbeelden
In het volgende codevoorbeeld ziet u een client die gebruikmaakt van de kanaalfactory om een bericht te verzenden en het antwoord te lezen.
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
Opmerkingen
Een Message kan nul of meer headers hebben die worden gebruikt als uitbreidingsmechanisme om informatie door te geven in berichten die specifiek zijn voor toepassingen. U kunt Headers berichtkoppen toevoegen aan een bericht door de Add methode aan te roepen.
Windows Communication Foundation (WCF) biedt een aantal vooraf gedefinieerde berichtkoppen, zoals wordt weergegeven in de volgende tabel.
| Koptekstnaam | Bevat de naam van de koptekst. |
|---|---|
| Tot | Bevat de rol waarop het bericht is gericht. |
| Actie | Geeft een beschrijving van hoe het bericht moet worden verwerkt. |
| FaultTo | Bevat het adres van het knooppunt waarnaar fouten moeten worden verzonden. |
| Van | Bevat het adres van het knooppunt dat het bericht heeft verzonden. |
| Verzoek | Geeft aan of het bericht een aanvraag is. |
| MessageID | Bevat de unieke id van het bericht. |
| Relateert aan | Bevat de id's van berichten die zijn gerelateerd aan dit bericht. |
| ReplyTo | Bevat het adres van het knooppunt waarnaar een antwoord moet worden verzonden voor een aanvraag. |
Notities voor uitvoerders
Wanneer deze methode wordt overschreven in een afgeleide klasse, retourneert deze methode een MessageHeaders object voor de headers van het bericht.