0

これは私のコードです:

SPWeb oWeb = SPContext.Current.Web;
SPUserToken token = oWeb.AllUsers[@"SHAREPOINTSYSTEM"].UserToken;
using (SPSite elevatedSite = new SPSite(oWeb.Site.ID, token))
 {
    using (SPWeb elevatedweb = site.OpenWeb())
     {

     }
 }

私はこの成功を実行します。しかし、SharePoint の ULS ログには、「オブジェクト Web を破棄しないでください」という例外があります。プロセスに「使用」を使用すると、SPSiteおよびSPWebの自動解放メモリが使用されると思います。

この問題で私を助けてください

4

2 に答える 2

0

SPDisposeCheck ツールを使用して、このコードにメモリ リークがあるかどうかを特定します。 http://archive.msdn.microsoft.com/SPDisposeCheck

ULS ログ エントリと、それがコードに確実に関連していることをどのように特定したかを貼り付けていただけますか?

あなたのコード: ですか

using (SPWeb elevatedweb = site.OpenWeb())また

using (SPWeb elevatedweb = elevatedSite.OpenWeb())?

コード全体を貼り付けていただけますか?

于 2012-10-23T11:20:38.293 に答える
0

SPDisposeCheck ルール 120によると、SPSite.OpenWebは破棄する必要があるため、エラーはelevatedweb. コードの他の領域を確認することをお勧めします。絶対oWebに処分されていないことを確認してください。

于 2012-10-22T16:01:41.257 に答える