0

以下のコードはメモリリークを起こしますか?もしそうなら、それを最適化するための推奨事項はありますか?

SPWeb web = (SPWeb)properties.Feature.Parent; // comes from the event receiver
//... lots of other code

// the below is the focal point.
foreach (SPWeb childWeb in web.Webs) 
{
    try
    {
        // lots of heavy processing with the childWebs
    }
    finally
    {
        if (childWeb != null)
        {
            childWeb.Dispose();
        }
    }
}
4

2 に答える 2

3

投稿したコードは問題ないはずです。ただし、tryステートメント内でchildWebをどのように処理するかによっては、メモリリークが発生する可能性があります。コード全体を投稿できますか?メモリリークが疑われますか?

于 2012-04-26T06:54:21.263 に答える
1

オブジェクトの破棄によると、コードはSPWeb.Websのグッドコーディングプラクティスと一致します。

そのページで述べたように、正しいコードの検証と潜在的なメモリリークの特定の両方として、SPDisposeCheckをダウンロードして使用することをお勧めします。

于 2012-04-26T12:37:47.733 に答える