0

.NETリモーティングサービスが、サーバー上でぶら下がっているオブジェクトインスタンスによってオーバーランしているように感じます。

これはデプロイされた本番インスタンスであるため、現在、コードを変更してログを追加することはできません。ただし、サーバーのアプリドメインで任意のコードを実行できるようにするコードコンソールがアプリケーションに組み込まれています。

そのため、開いているリモーティングチャネルに現在存在するすべてのリモーティングアクティブ化(MarshalByRef)オブジェクトのリスト(またはカウント)を取得する方法を探しています。また、サーバーにTcpチャネルをリモート接続するすべてのオープンクライアントのリスト/カウントも役立ちます。

誰かがコードでこれを行う方法を教えてもらえますか?

ありがとう!

4

1 に答える 1

4

役立つ可能性のある .NET CLR Remoting パフォーマンス カウンターがいくつかあります。

.NET CLR リモート処理

  • チャネル
  • コンテキスト プロキシ
  • 読み込まれたコンテキスト バインド クラス
  • コンテキスト バインド オブジェクトの割り当て/秒
  • コンテキスト
  • リモート コール/秒
  • 合計リモート コール

正直なところ、あなたの特定のケースに役立つかどうかはわかりませんが、調べてみると...

perfmon.exe を使用してそれらを表示することもできますが、C# から実行する場合もかなり簡単です。

于 2010-07-29T19:52:05.590 に答える