OperationContext.IncomingMessageHeaders Eigenschaft

Definition

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.

Gilt für: