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

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

RemotingServices.GetSessionIdForMethodMessage メソッド

メッセージセッション ID取得します

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

Public Shared Function GetSessionIdForMethodMessage
 ( _
    msg As IMethodMessage _
) As String
Dim msg As IMethodMessage
Dim returnValue As String

returnValue = RemotingServices.GetSessionIdForMethodMessage(msg)
public static string GetSessionIdForMethodMessage
 (
    IMethodMessage msg
)
public:
static String^ GetSessionIdForMethodMessage (
    IMethodMessage^ msg
)
public static String GetSessionIdForMethodMessage
 (
    IMethodMessage msg
)
public static function GetSessionIdForMethodMessage
 (
    msg : IMethodMessage
) : String

パラメータ

msg

セッション ID要求される対象の IMethodMessage。

戻り値
現在のセッション一意識別するセッション ID 文字列

例外例外
解説解説
使用例使用例

現在のセッションセッション ID 文字列取得する方法コード例次に示します

<SecurityPermission(SecurityAction.LinkDemand, Flags := SecurityPermissionFlag.Infrastructure)>
 _
Public Sub ProcessMessageStart(requestMessage
 As IMessage, bClientSide As Boolean,
 bAsyncCall As Boolean) Implements IDynamicMessageSink.ProcessMessageStart

   Console.WriteLine(ControlChars.Cr + "ProcessMessageStart")
   Console.WriteLine("requestMessage = {0}", requestMessage)
   
   Try
      Console.WriteLine("SessionId = {0}.", RemotingServices.GetSessionIdForMethodMessage(CType(requestMessage,
 IMethodMessage)))
   Catch e As InvalidCastException
      Console.WriteLine("The requestMessage is not an IMethodMessage.")
   End Try
   
   Dim requestMethodCallMessage As IMethodCallMessage
   
   Try
      requestMethodCallMessage = CType(requestMessage, MethodCall)
      
      ' Prints the details of the IMethodCallMessage to the console
      Console.WriteLine(ControlChars.Cr + "MethodCall details")
      Console.WriteLine("Uri = {0}", requestMethodCallMessage.Uri)
      Console.WriteLine("TypeName = {0}", requestMethodCallMessage.TypeName)
      Console.WriteLine("MethodName = {0}", requestMethodCallMessage.MethodName)
      Console.WriteLine("ArgCount = {0}", requestMethodCallMessage.ArgCount)
      Console.WriteLine("MethodCall.Args")
      
      Dim o As Object
      For Each o In  requestMethodCallMessage.Args
         Console.WriteLine(ControlChars.Tab + "{0}",
 o)
      Next o 
      
      ' Sends this method call message to another server to replicate
      ' the call at the second server
      If requestMethodCallMessage.Uri = replicatedServiceUri Then
         
         Dim replicationService As SampleService
 = CType(Activator.GetObject(GetType(SampleService), replicationServerUrl
 + replicatedServiceUri), SampleService)
         Dim returnMessage As IMethodReturnMessage
 = RemotingServices.ExecuteMessage(replicationService, requestMethodCallMessage)
         
         ' Prints the results of the method call stored in the IMethodReturnMessage.
         Console.WriteLine(ControlChars.Cr + "Message returned
 by ExecuteMessage.")
         Console.WriteLine(ControlChars.Tab + "Exception = {0}",
 returnMessage.Exception)
         Console.WriteLine(ControlChars.Tab + "ReturnValue = {0}",
 returnMessage.ReturnValue)
         Console.WriteLine(ControlChars.Tab + "OutArgCount = {0}",
 returnMessage.OutArgCount)
         Console.WriteLine("Return message OutArgs")
         For Each o In 
 requestMethodCallMessage.Args
            Console.WriteLine(ControlChars.Tab + "{0}",
 o)
         Next o
         
      End If
      
   Catch e As InvalidCastException
      Console.WriteLine("The requestMessage is not a MethodCall")
   End Try

End Sub 'ProcessMessageStart
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
public void ProcessMessageStart(IMessage requestMessage,
 bool bClientSide, bool bAsyncCall) {
   
   Console.WriteLine("\nProcessMessageStart");
   Console.WriteLine("requestMessage = {0}", requestMessage);
   
   try {
      Console.WriteLine("SessionId = {0}.",
          RemotingServices.GetSessionIdForMethodMessage((IMethodMessage)requestMessage));
   }
   catch (InvalidCastException) {
      Console.WriteLine("The requestMessage is not an IMethodMessage.");
   }

   IMethodCallMessage requestMethodCallMessage;
   
   try {
      requestMethodCallMessage = (IMethodCallMessage)requestMessage;
      // Prints the details of the IMethodCallMessage to the console.
      Console.WriteLine("\nMethodCall details");
      Console.WriteLine("Uri = {0}", requestMethodCallMessage.Uri);
      Console.WriteLine("TypeName = {0}", requestMethodCallMessage.TypeName);
      Console.WriteLine("MethodName = {0}", requestMethodCallMessage.MethodName);
      Console.WriteLine("ArgCount = {0}", requestMethodCallMessage.ArgCount);
      
      Console.WriteLine("MethodCall.Args");
      foreach(object o in requestMethodCallMessage.Args)
          Console.WriteLine("\t{0}", o);
      
      // Sends this method call message to another server to replicate
      // the call at the second server.
      if (requestMethodCallMessage.Uri == replicatedServiceUri)
 {
         
         SampleService replicationService = 
            (SampleService)Activator.GetObject(typeof(SampleService), 
            replicationServerUrl + replicatedServiceUri);
         
         IMethodReturnMessage returnMessage = 
            RemotingServices.ExecuteMessage(replicationService, requestMethodCallMessage);
         
         // Prints the results of the method call stored in the IMethodReturnMessage.
         Console.WriteLine("\nMessage returned by ExecuteMessage.");
         Console.WriteLine("\tException = {0}", returnMessage.Exception);
         Console.WriteLine("\tReturnValue = {0}", returnMessage.ReturnValue);
         Console.WriteLine("\tOutArgCount = {0}", returnMessage.OutArgCount);
         Console.WriteLine("Return message OutArgs");
         
         foreach(object o in requestMethodCallMessage.Args)
            Console.WriteLine("\t{0}", o);
      }
   }
   catch (InvalidCastException) {
       Console.WriteLine("The requestMessage is not a MethodCall");
   }
}
[System::Security::Permissions::SecurityPermissionAttribute
(System::Security::Permissions::SecurityAction::LinkDemand, 
Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
virtual void ProcessMessageStart( IMessage^ requestMessage, bool
 /*bClientSide*/, bool /*bAsyncCall*/ )
{
   Console::WriteLine( "\nProcessMessageStart" );
   Console::WriteLine( "requestMessage = {0}", requestMessage );
   try
   {
      Console::WriteLine( "SessionId = {0}.", RemotingServices::GetSessionIdForMethodMessage(
 dynamic_cast<IMethodMessage^>(requestMessage) ) );
   }
   catch ( InvalidCastException^ ) 
   {
      Console::WriteLine( "The requestMessage is not an IMethodMessage*."
 );
   }

   IMethodCallMessage^ requestMethodCallMessage;
   try
   {
      requestMethodCallMessage = dynamic_cast<IMethodCallMessage^>(requestMessage);

      // Prints the details of the IMethodCallMessage* to the console.
      Console::WriteLine( "\nMethodCall details" );
      Console::WriteLine( "Uri = {0}", requestMethodCallMessage->Uri
 );
      Console::WriteLine( "TypeName = {0}", requestMethodCallMessage->TypeName
 );
      Console::WriteLine( "MethodName = {0}", requestMethodCallMessage->MethodName
 );
      Console::WriteLine( "ArgCount = {0}", requestMethodCallMessage->ArgCount
 );
      Console::WriteLine( "MethodCall::Args" );
      IEnumerator^ myEnum = requestMethodCallMessage->Args->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Object^ o = safe_cast<Object^>(myEnum->Current);
         Console::WriteLine( "\t {0}", o );

         // Sends this method call message to another server to replicate
         // the call at the second server.
         if ( requestMethodCallMessage->Uri == replicatedServiceUri
 )
         {
            String^ repSvr = String::Format(  "{0}{1}", const_cast<String^>(replicationServerUrl),
 const_cast<String^>(replicatedServiceUri) );
            SampleService^ replicationService = dynamic_cast<SampleService^>(Activator::GetObject(
 SampleService::typeid, repSvr ));
            IMethodReturnMessage^ returnMessage = RemotingServices::ExecuteMessage(
 replicationService, requestMethodCallMessage );

            // Prints the results of the method call stored in the IMethodReturnMessage*.
            Console::WriteLine( "\nMessage returned by ExecuteMessage."
 );
            Console::WriteLine( "\tException = {0}", returnMessage->Exception
 );
            Console::WriteLine( "\tReturnValue = {0}", returnMessage->ReturnValue
 );
            Console::WriteLine( "\tOutArgCount = {0}", returnMessage->OutArgCount
 );
            Console::WriteLine( "Return message OutArgs" );
            IEnumerator^ myEnum = requestMethodCallMessage->Args->GetEnumerator();
            while ( myEnum->MoveNext() )
            {
               Object^ o = safe_cast<Object^>(myEnum->Current);
               Console::WriteLine( "\t {0}", o );
            }
         }
      }
   }
   catch ( InvalidCastException^ ) 
   {
      Console::WriteLine( "The requestMessage is not a MethodCall" );
   }
}
public void ProcessMessageStart(IMessage requestMessage,boolean
 bClientSide,
    boolean bAsyncCall)
{
    Console.WriteLine("\nProcessMessageStart");
    Console.WriteLine("requestMessage = {0}", requestMessage);
    try {
        Console.WriteLine("SessionId = {0}.", RemotingServices.
            GetSessionIdForMethodMessage((IMethodMessage)requestMessage));
    }
    catch (InvalidCastException exp) {
        Console.WriteLine("The requestMessage is not an IMethodMessage.");
    }
    IMethodCallMessage requestMethodCallMessage;
    try {
        requestMethodCallMessage = (IMethodCallMessage)(requestMessage);
        // Prints the details of the IMethodCallMessage to the console.
        Console.WriteLine("\nMethodCall details");
        Console.WriteLine("Uri = {0}", requestMethodCallMessage.get_Uri());
        Console.WriteLine("TypeName = {0}", requestMethodCallMessage.
            get_TypeName());
        Console.WriteLine("MethodName = {0}", requestMethodCallMessage.
            get_MethodName());
        Console.WriteLine("ArgCount = {0}",
            (System.Int32)requestMethodCallMessage.get_ArgCount());
        Console.WriteLine("MethodCall.Args");            
        Object o = null;
        for (int iCtr = 0; iCtr < requestMethodCallMessage.get_Args().
            get_Length(); iCtr++) {
            o = requestMethodCallMessage.get_Args()[iCtr];
            Console.WriteLine("\t{0}", o);
        }
        // Sends this method call message to another server to replicate
        // the call at the second server.
        if (requestMethodCallMessage.get_Uri().Equals(replicatedServiceUri))
 {
            SampleService replicationService = (SampleService)(Activator.
                GetObject(SampleService.class.ToType(), replicationServerUrl
 
                + replicatedServiceUri));
            IMethodReturnMessage returnMessage = RemotingServices.
                ExecuteMessage(replicationService, requestMethodCallMessage);
            // Prints the results of the method call stored in 
            //the IMethodReturnMessage.
            Console.WriteLine("\nMessage returned by ExecuteMessage.");
            Console.WriteLine("\tException = {0}", returnMessage.
                get_Exception());
            Console.WriteLine("\tReturnValue = {0}", returnMessage.
                get_ReturnValue());
            Console.WriteLine("\tOutArgCount = {0}", 
                (System.Int32)returnMessage.get_OutArgCount());
            Console.WriteLine("Return message OutArgs");              
                  
            for (int iCtr1 = 0; iCtr1 <
 requestMethodCallMessage.get_Args().
                get_Length(); iCtr1++) {
                o = requestMethodCallMessage.get_Args()[iCtr1];
                Console.WriteLine("\t{0}", o);
            }
        }
    }
    catch (InvalidCastException exp) {
        Console.WriteLine("The requestMessage is not a MethodCall");
    }
} //ProcessMessageStart
.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
RemotingServices クラス
RemotingServices メンバ
System.Runtime.Remoting 名前空間
その他の技術情報
ASP.NETセッション状態



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

辞書ショートカット

すべての辞書の索引

「RemotingServices.GetSessionIdForMethodMessage メソッド」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS