OperationContext.IncomingMessageHeaders Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Kopfzeilen für eingehende Nachrichten für die OperationContext.
public:
property System::ServiceModel::Channels::MessageHeaders ^ IncomingMessageHeaders { System::ServiceModel::Channels::MessageHeaders ^ get(); };
public System.ServiceModel.Channels.MessageHeaders IncomingMessageHeaders { get; }
member this.IncomingMessageHeaders : System.ServiceModel.Channels.MessageHeaders
Public ReadOnly Property IncomingMessageHeaders As MessageHeaders
Eigenschaftswert
Ein MessageHeaders Objekt, das die Kopfzeilen für eingehende Nachrichten enthält.
Beispiele
Das folgende Codebeispiel zeigt, wie die Kopfzeilen eingehender Nachrichten in einem Dienstvorgang gelesen werden.
class SampleService : ISampleService
{
#region ISampleService Members
public void Push(string msg)
{
Console.WriteLine("Proxy: " + msg);
this.WriteHeaders(OperationContext.Current.IncomingMessageHeaders);
MessageHeader outBoundHeader
= MessageHeader.CreateHeader(
"Client-Bound-One-Way-Header",
"http://Microsoft.WCF.Documentation",
"Custom Outbound Header"
);
OperationContext.Current.OutgoingMessageHeaders.Add(outBoundHeader);
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("OutgoingHeader:");
Console.Write("\t");
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine(outBoundHeader.ToString());
Console.ResetColor();
OperationContext.Current.GetCallbackChannel<IClientCallbackContract>().PushBack("Here's something to examine in response.");
}
void WriteHeaders(MessageHeaders headers)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("IncomingHeader:");
Console.ForegroundColor = ConsoleColor.Blue;
foreach (MessageHeaderInfo h in headers)
{
if (!h.Actor.Equals(String.Empty))
Console.WriteLine("\t" + h.Actor);
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\t" + h.Name);
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("\t" + h.Namespace);
Console.WriteLine("\t" + h.Relay);
if (h.IsReferenceParameter)
{
Console.WriteLine("IsReferenceParameter header detected: " + h.ToString());
}
}
Console.ResetColor();
}
Friend Class SampleService
Implements ISampleService
#Region "ISampleService Members"
Public Sub Push(ByVal msg As String) Implements ISampleService.Push
Console.WriteLine("Proxy: " & msg)
Me.WriteHeaders(OperationContext.Current.IncomingMessageHeaders)
Dim outBoundHeader As MessageHeader = MessageHeader.CreateHeader("Client-Bound-One-Way-Header", "http://Microsoft.WCF.Documentation", "Custom Outbound Header")
OperationContext.Current.OutgoingMessageHeaders.Add(outBoundHeader)
Console.ForegroundColor = ConsoleColor.Red
Console.WriteLine("OutgoingHeader:")
Console.Write(vbTab)
Console.ForegroundColor = ConsoleColor.Blue
Console.WriteLine(outBoundHeader.ToString())
Console.ResetColor()
OperationContext.Current.GetCallbackChannel(Of IClientCallbackContract)().PushBack("Here's something to examine in response.")
End Sub
Private Sub WriteHeaders(ByVal headers As MessageHeaders)
Console.ForegroundColor = ConsoleColor.Red
Console.WriteLine("IncomingHeader:")
Console.ForegroundColor = ConsoleColor.Blue
For Each h In headers
If Not h.Actor.Equals(String.Empty) Then
Console.WriteLine(vbTab & h.Actor)
End If
Console.ForegroundColor = ConsoleColor.White
Console.WriteLine(vbTab & h.Name)
Console.ForegroundColor = ConsoleColor.Blue
Console.WriteLine(vbTab & h.Namespace)
Console.WriteLine(vbTab & h.Relay)
If h.IsReferenceParameter = True Then
Console.WriteLine("IsReferenceParameter header detected: " & h.ToString())
End If
Next h
Console.ResetColor()
End Sub
Hinweise
Verwenden Sie diese Eigenschaft, um die Anforderungsheader zu prüfen oder zu ändern, die an einem Dienstvorgang oder Antwortheader eingehen, die an einem Clientproxy eingehen.