2009-03-17 3 views
1

こんにちは私は作成したSharePoint WebPartを持っており、レンダリングメソッドをオーバーライドしています。私の質問は、GCがそれをクリーンアップする前に、オブジェクトがどれくらい長く生きているかです。 Render関数でStringReaderオブジェクトを作成しましたが、一度ページがレンダリングされると破棄されるか、または.Closeメソッドを明示的に呼び出す必要があります。ページがレンダリングされると、GCはオブジェクトを閉じますか?

これは、SharePointサーバーが99%に移動する原因になりますか? (w3wp.exeプロセスは、99%のCPUを使用した)

ありがとうございます。

答えて

2

Closeを呼び出す方が良い(実際には必須です)。 GCはそれを一方的にまたは別の方法で取得しますが、非決定論的です。

SharePointサーバー が99%に移動しますか?おそらく簡単に無理だろ

を(w3wp.exeのプロセスが 99%のCPUに行ってきました)が、関係なく、W3WPプロセスが何をしているかの、あなたはいつでもすることができます明示的に使い捨てのリソースを解放します。 IDisposableを実装しているオブジェクトを扱うときは、GCを安全ネットと考えてください。

+0

「非決定的」は真ですが、ここではほとんど問題になりません。しかし、GCのためにそれを残すことは非効率的です。 –

+0

OP: "私の質問は、GCがそれを清掃するまでにオブジェクトがどれくらい長く生きているのですか?" 回答:非決定性 私はそれが正確に問題だと思います。 –

関連する問題