OperationContext.IncomingMessageHeaders Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 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.