SPWeb および SPSite オブジェクトが不必要に作成されないようにする

最終更新日: 2014年4月4日

適用対象: SharePoint Foundation 2010

SPWeb または SPSite オブジェクトは大量のメモリを消費することがあります。親オブジェクトへの参照を取得するためだけに、これらの種類のオブジェクトを作成することは避けてください。代わりに、Web アプリケーションへの参照を取得するために、静的な SPWebApplication.Lookup(Uri) メソッドを取得し、Web アプリケーションの URI で作成された Uri オブジェクトに渡します。その後、Web アプリケーション オブジェクトの Farm プロパティを使用すると、ファームへの参照を取得できます (リモート ファームへの参照を取得するには、静的な static Open(String) メソッドを使用します)。Web アプリケーション オブジェクトの ContentDatabases プロパティには、Web アプリケーションのコンテンツ データベース コレクションが含まれています。コレクション内の対象のコンテンツ データベースのインデックスがわかっている場合は、このプロパティを使用してそのコンテンツ データベースへの参照を取得できます。詳細については、SPContentDatabaseCollection クラスに関する参照トピックを参照してください。次のコードは、この点をいくつか示しています。

SPWebApplication webApplication = SPWebApplication.Lookup(new Uri("https://localhost/");
SPFarm farm = webApplication.Farm;
SPContentDatabase content = webApplication.ContentDatabases[0];

関連項目

概念

SharePoint Foundation の推奨事項