OperationContext.IncomingMessageHeaders Property    
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the incoming message headers for the 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.MessageHeadersPublic ReadOnly Property IncomingMessageHeaders As MessageHeadersProperty Value
A MessageHeaders object that contains the incoming message headers.
Examples
The following code example shows how to read the incoming message headers in a service operation.
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
Remarks
Use this property to inspect or modify the request headers that arrive at a service operation or reply headers that arrive at a client proxy.