2011-03-09 8 views
0

呼び出し元プロセス(.net 2.0アセンブリ)が常にメソッドSystem.Runtime.InteopServices.Marshal.ReleaseCOMObject()を使用していても、COM +コンポーネントに登録されたDLLが "アクティブ化カウント"メソッドSystem.Runtime.InteopServices.Marshal.ReleaseCOMObjectはすべてのオブジェクトを終了しません

ReleaseCOMObjectは、カウンタが1より大きい場合、オブジェクトを実際に無効にしますが、タイムアウトが期限切れになるまで常に1つのオブジェクトがアクティブのままです。

+0

あなたがそれらをリリースする前にかなりのREF数が0であることを確かめてください? – asawyer

答えて

0

これは、一般的に、残りの参照カウントがまだガベージコレクションされていない基準に保持する他の管理オブジェクトが存在することを示すSO

Why use FinalReleaseComObject instead of ReleaseComObject?

上の別の質問に非常に類似しています。 (通常はRCW)

関連する問題