4

私はATLの助けを借りて書かれたアウトプロセスCOMサーバーを持っています。通常の状況では、そのサーバーの存続期間は便利に処理されますが、インターフェイスを解放する前にクライアントプロセスが停止した場合、サーバーは永久に存続するように見えます。

クライアントが接続されていないときにサーバーがシャットダウン手順に入ることができる方法(または私が知らないタイムアウト)はありますか?または、別の言い方をすれば、ATL / COMはクラッシュしたクライアントの参照カウントをどのように処理するのでしょうか?

4

1 に答える 1

3

COMサーバーのスタブを数分で逆参照するためのタイムアウトがあるため、永遠にかかることはありません。ただし、別の問題が発生している可能性があるのは、操作の一部として、サーバー内のCOMオブジェクトに相互参照があり、接続されたクライアントが突然停止したために適切に解放されないことです。この場合、COMオブジェクトはサーバープロセスをロックし続け、予期される自動終了を防ぎます。

于 2013-02-20T08:44:37.110 に答える