CallContext.GetData メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CallContext.GetData メソッドの意味・解説 

CallContext.GetData メソッド

CallContext から指定した名前のオブジェクト取得します

名前空間: System.Runtime.Remoting.Messaging
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
使用例使用例

GetData メソッド使用して識別のためにリモートの場所に プリンシパル オブジェクトID オブジェクト送信する例を次のコード示しますサンプル使用する LogicalCallContextData クラスコード表示するには、ILogicalThreadAffinative インターフェイストピックの例を参照してくださいサンプル使用するクライアント クラスコード表示するには、CallContext クラストピックの例を参照してください。この例で使用されているサーバー クラスコード確認するには、RegisterActivatedServiceType クラスの例を参照してください

Imports System
Imports System.Text
Imports System.Runtime.Remoting.Messaging
Imports System.Security.Principal
Imports System.Security.Permissions

Public Class HelloServiceClass
   Inherits MarshalByRefObject
   
   Private Shared n_instances As
 Integer
   Private instanceNum As Integer
  
   
   Public Sub New()
      n_instances += 1
      instanceNum = n_instances
      Console.WriteLine(Me.GetType().Name + "
 has been created.  Instance # = {0}", instanceNum)
   End Sub 'New

   
   Protected Overrides Sub
 Finalize()
      Console.WriteLine("Destroyed instance {0} of HelloServiceClass.",
 instanceNum)
      MyBase.Finalize()
   End Sub 'Finalize
  
   <PermissionSet(SecurityAction.LinkDemand)> _
   Public Function HelloMethod(name As
 [String]) As [String]
      
      'Extract the call context data
      Dim data As LogicalCallContextData =
 CType(CallContext.GetData("test data"), LogicalCallContextData)
      Dim myPrincipal As IPrincipal = data.Principal
      
      'Check the user identity
      If myPrincipal.Identity.Name = "Bob"
 Then
         Console.WriteLine()
         Console.WriteLine("Hello {0}, you are identified!",
 myPrincipal.Identity.Name)
         Console.WriteLine(data.numOfAccesses)
      Else
         Console.WriteLine("Go away! You are not identified!")
         Return [String].Empty
      End If
      
      ' calculate and return result to client    
      Return "Hi there " + name
 + "."
   End Function 'HelloMethod

End Class 'HelloServiceClass
using System;
using System.Text;
using System.Runtime.Remoting.Messaging;
using System.Security.Principal;
using System.Security.Permissions;

public class HelloServiceClass : MarshalByRefObject
 {

   static int n_instances;
   int instanceNum;

   public HelloServiceClass() {
      n_instances++;
      instanceNum = n_instances;
      Console.WriteLine(this.GetType().Name + " has been
 created.  Instance # = {0}", instanceNum);
   }


   ~HelloServiceClass() {
      Console.WriteLine("Destroyed instance {0} of HelloServiceClass.",
 instanceNum);      
   }


   [PermissionSet(SecurityAction.LinkDemand)]
   public String HelloMethod(String name) {

      //Extract the call context data
      LogicalCallContextData data = (LogicalCallContextData)CallContext.GetData("test
 data");      
      IPrincipal myPrincipal = data.Principal;
      
      //Check the user identity
      if(myPrincipal.Identity.Name == "Bob") {
         Console.WriteLine("\nHello {0}, you are identified!", myPrincipal.Identity.Name);
         Console.WriteLine(data.numOfAccesses);
      }
      else {
         Console.WriteLine("Go away! You are not identified!");
         return String.Empty;
      }

        // calculate and return result to client    
      return "Hi there " + name + ".";
   }
}
using namespace System;
using namespace System::Text;
using namespace System::Runtime::Remoting::Messaging;
using namespace System::Security::Principal;
using namespace System::Security::Permissions;

ref class LogicalCallContextData;

public ref class HelloServiceClass: public
 MarshalByRefObject
{
private:
   static int n_instances;
   int instanceNum;

public:
   HelloServiceClass()
   {
      n_instances++;
      instanceNum = n_instances;
      Console::WriteLine(  "{0} has been created.  Instance # = {1}", this->GetType()->Name,
 instanceNum );
   }

   ~HelloServiceClass()
   {
      Console::WriteLine( "Destroyed instance {0} of HelloServiceClass.",
 instanceNum );
   }

   [SecurityPermissionAttribute(SecurityAction::Demand, Flags=SecurityPermissionFlag::Infrastructure)]
   String^ HelloMethod( String^ name )
   {
      //Extract the call context data
      LogicalCallContextData^ data = dynamic_cast<LogicalCallContextData^>(CallContext::GetData(
 "test data" ));
      IPrincipal^ myPrincipal = data->Principal;

      //Check the user identity
      if ( myPrincipal->Identity->Name == "Bob"
 )
      {
         Console::WriteLine( "\nHello {0}, you are identified!", myPrincipal->Identity->Name
 );
         Console::WriteLine( data->numOfAccesses );
      }
      else
      {
         Console::WriteLine( "Go away! You are not identified!" );
         return String::Empty;
      }

      // calculate and return result to client    
      return String::Format( "Hi there {0}.", name );
   }
};
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CallContext クラス
CallContext メンバ
System.Runtime.Remoting.Messaging 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「CallContext.GetData メソッド」の関連用語

CallContext.GetData メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CallContext.GetData メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS