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

适用于