none
リモーティングを使用するとハンドル数が増える RRS feed

  • 質問

  • リモーティングのIPCチャネルを使ったプロセス間通信において、クライアント側からサーバーオブジェクト(MarshalByRefObjectを継承したもの)のメソッドを呼ぶたびにサーバープロセスのハンドル数が増えていきます。

    ただし、ある程度増えるとハンドル数が減ります(起動時250。 ハンドル600程度になると250~300まで減少)

    これはハンドルリークなのか、そもそもリモーティングを使うのとこのように動きになるのか分からないため教えてください。

    【共通コード】

    public interface ISendToken

    {
    	[OneWay]
    	void SendToken(bool isAlive);

    }

    【サーバー側】

    public class RemoteTrance : MarshalByRefObjectISendToken { internal event Action<bool> ReceivedTokenEvent; publico verride object InitializeLifetimeService() { returnnull; } [OneWay] publicvoid SendToken(bool isAlive) { if (ReceivedTokenEvent != null) { ReceivedTokenEvent(isAlive); } } }

    【リモーティングオブジェクト生成コード】

    var remo = new RemoteTrance();
    remo .ReceivedTokenEvent += ReceiveAliveToken;

    var channel= new IpcServerChannel("ポート名");
    ChannelServices.RegisterChannel(channel, true);
    RemotingServices.Marshal(remo, ”クラス名”, typeof(ISendToken));

            

    2013年8月12日 5:05

回答

  • 自己レスです。

    長期運用したのですが、ハンドル数は増減するものの、増え続けることがなかったので

    クローズします。

    • 回答としてマーク 星 睦美 2013年8月27日 1:41
    2013年8月27日 1:24

すべての返信

  • 自己レスです。

    長期運用したのですが、ハンドル数は増減するものの、増え続けることがなかったので

    クローズします。

    • 回答としてマーク 星 睦美 2013年8月27日 1:41
    2013年8月27日 1:24
  • フォーラム オペレーターの星 睦美です
    YoshiroYano さん、ご自身の検証の結果をお知らせいただきありがとうございます。

    事象に関しての参考になると思いますので、私から[回答としてマーク]をしました。
    今後ともMSDN フォーラムをよろしくお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2013年8月27日 1:44