OperationContext.IncomingMessageHeaders Property

Definition

Gets the incoming message headers for the OperationContext.

C#
public System.ServiceModel.Channels.MessageHeaders IncomingMessageHeaders { get; }

Property 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.

C#
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();
  }

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.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
UWP 10.0