避免构建不需要的 SPWeb 和 SPSite 对象

上次修改时间: 2014年4月4日

适用范围: SharePoint Foundation 2010

SPWebSPSite 对象会占用大量内存。请避免仅仅为引用父对象而构造这些类型的对象。要引用 Web 应用程序,请使用静态 SPWebApplication.Lookup(Uri) 对象,并为其传递一个使用该 Web 应用程序的 URI 创建的 Uri 对象。然后可使用 Web 应用程序对象的 Farm 属性引用服务器场。(可使用静态 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 的最佳做法