Aracılığıyla paylaş


OperationContext.IncomingMessageHeaders Özellik

Tanım

için OperationContextgelen ileti üst bilgilerini alır.

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

Özellik Değeri

MessageHeaders

MessageHeaders Gelen ileti üst bilgilerini içeren bir nesne.

Örnekler

Aşağıdaki kod örneği, bir hizmet işleminde gelen ileti üst bilgilerinin nasıl okunduğu gösterir.

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 == true)
      {
          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

Açıklamalar

Bir hizmet işlemine gelen istek üst bilgilerini veya bir istemci proxy'sine gelen yanıt üst bilgilerini incelemek veya değiştirmek için bu özelliği kullanın.

Şunlara uygulanır