- - PR -
.NETリモーティングのスレッドIDについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-28 10:37
初めて投稿させていただきます。
しゅうほうと申します。 現在、.NETリモーティングを活用しアプリケーションの開発を 実施していますが、解決させたい疑問があるため 質問させていただきます。 尚、開発は.NET FrameWork 1.1 言語はC#.NETです。 【疑問点】 Singletonでリモーティングオブジェクトを生成し、 生成したリモーティングオブジェクトクラスのメソッドを コールするとリモーティングオブジェクトのスレッドIDが 前回と同一ではない場合がある。(クライアントは1つのみ) 確認のためコールされたメソッド内で、GetCurrentThreadId()を呼ぶと 必ずしも同一のスレッドIDが帰るわけではありませんでした。 これは、.NET Remotingの仕様なのでしょうか? また、リモーティングオブジェクトのスレッドIDを固定に 持つことが可能でしょうか? どなたかご存知の方おりましたら、ご教授ください。 | ||||||||
|
投稿日時: 2006-03-28 12:10
前回と? 同一でない場合は普通にあるでしょうね。
System.AppDomain.GetCurrentThreadId() のことでしょうか? System.Threading.Thread.CurrentThread.GetHashCode() のことでしょうか? どちらにしても毎回同じである保証はないでしょうけど。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-03-28 13:00
じゃんぬねっと様
返答ありがとうございます。
ThreadIdの確認はWin32ApiのGetCurrentThreadId()を使用しました。 (リモーティングオブジェクトからC++で作成したDllのメソッドを コールしていたため、その中で。) やはり、毎回同じ保証は無いのですね。 デバック環境で実施中に同一のリモートオブジェクトを使用しているにも 関わらず。スレッドは切り替えられるので、疑問に思ったのです。 ありがとうございます。 |
1