CallContext.GetHeaders 方法

定義

傳回隨同方法呼叫傳送的標頭。

public:
 static cli::array <System::Runtime::Remoting::Messaging::Header ^> ^ GetHeaders();
public static System.Runtime.Remoting.Messaging.Header[] GetHeaders ();
[System.Security.SecurityCritical]
public static System.Runtime.Remoting.Messaging.Header[] GetHeaders ();
static member GetHeaders : unit -> System.Runtime.Remoting.Messaging.Header[]
[<System.Security.SecurityCritical>]
static member GetHeaders : unit -> System.Runtime.Remoting.Messaging.Header[]
Public Shared Function GetHeaders () As Header()

傳回

Header[]

隨同該方法呼叫傳送的標頭。

屬性

例外狀況

立即呼叫端沒有基礎結構使用權限。

範例

下列程式碼範例會將標頭傳送至遠端方法,並在遠端方法傳回時,將這些標頭的內容列印至主控台。

// Array of Headers with name and values initialized.
array<Header^>^ myArrSetHeader = { gcnew Header( "Header0","CallContextHeader0" ),
   gcnew Header( "Header1","CallContextHeader1" ) };

// Pass the Header Array with method call.
// Header will be set in the method by'CallContext::SetHeaders' method in remote Object*.
Console::WriteLine( "Remote HeaderMethod output is {0}",
   myService->HeaderMethod( "CallContextHeader", myArrSetHeader ) );

array<Header^>^ myArrGetHeader;
// Get Header Array.
myArrGetHeader = CallContext::GetHeaders();
if ( nullptr == myArrGetHeader )
{
   Console::WriteLine( "CallContext::GetHeaders Failed" );
}
else
{
   Console::WriteLine( "Headers:" );
}

for each ( Header^ myHeader in myArrGetHeader )
{
   Console::WriteLine( "Value in Header '{0}' is '{1}'.",
      myHeader->Name, myHeader->Value );
}
// Array of Headers with name and values initialized.
Header[] myArrSetHeader = {new Header("Header0","CallContextHeader0"),
                             new Header("Header1","CallContextHeader1")};

// Pass the Header Array with method call.
// Header will be set in the method by'CallContext.SetHeaders' method in remote object.

Console.WriteLine("Remote HeaderMethod output is " +
                        myService.HeaderMethod("CallContextHeader",myArrSetHeader));

Header[] myArrGetHeader;
// Get Header Array.
myArrGetHeader=CallContext.GetHeaders();
if (null == myArrGetHeader)
   Console.WriteLine("CallContext.GetHeaders Failed");
else
   Console.WriteLine("Headers:");
foreach(Header myHeader in myArrGetHeader)
{
   Console.WriteLine("Value in Header '{0}' is '{1}'.",myHeader.Name,myHeader.Value);
}
' Array of Headers with name and values initialized.
Dim myArrSetHeader As Header() =  {New Header("Header0", "CallContextHeader0"), _
                                          New Header("Header1", "CallContextHeader1")}

' Pass the Header Array with method call.
' Header will be set in the method by'CallContext.SetHeaders' method in remote object.

Console.WriteLine("Remote HeaderMethod output is " _
                     + myService.HeaderMethod("CallContextHeader", myArrSetHeader))

Dim myArrGetHeader() As Header
' Get Header Array.

myArrGetHeader = CallContext.GetHeaders()
If myArrGetHeader Is Nothing Then
   Console.WriteLine("CallContext.GetHeaders Failed")
Else
   Console.WriteLine("Headers:")
End If

Dim myHeader As Header
For each myHeader in myArrGetHeader
   Console.WriteLine("Value in Header '{0}' is '{1}'.",myHeader.Name,myHeader.Value)
Next

適用於