您的位置:首页 > Web前端

WSS3SDK之:Feature对象模型

2009-01-17 18:27 281 查看
Windows SharePoint Services 3.0提供了一套完整的对象模型用于列出给定范围内安装的Feature清单,并控制Feature是否在该服务器场内或网站层次上可用。

Feature类库

Microsoft.SharePoint.SPFeature (SPFeatureCollection) 返回一个描述Feature在相应层中状态的对象。在场的Feature集合中的存在性(Microsoft.SharePoint.Administration.SPWebService), Web应用程序的 (Microsoft.SharePoint.Administration.SPWebApplication), 网站集的(Microsoft.SharePoint.SPSite), 或网站的 (Microsoft.SharePoint.SPWeb) 层中指示该Feature是否激活。如果集合中缺少对应的i SPFeature 对象就说明在给定范围内没有激活该Feature。 命名空间: Microsoft.SharePoint

Microsoft.SharePoint.SPFeatureProperty (SPFeaturePropertyCollection) 代表了某Feature的属性。命名空间:Microsoft.SharePoint

Microsoft.SharePoint.SPFeatureScope 一个可以指定的可能的范围的枚举,包括 Farm, WebApplication, Site, 和 Web. 命名空间: Microsoft.SharePoint

Microsoft.SharePoint.Administration.SPFeatureDefinition (SPFeatureDefinitionCollection) 包括了一个Feature的基础定义,包含名称,范围,ID,版本。同时,可以存储每个Featue中全局的一些属性。 命名空间: Microsoft.SharePoint.Administration

Microsoft.SharePoint.SPFeatureDependency (SPFeatureDependencyCollection) 代表了与某Feature的依赖关系。 命名空间: Microsoft.SharePoint

Microsoft.SharePoint.Administration.SPElementDefinition (SPElementDefinitionCollection) 代表了当该Feature被激活或使用时预置的一些元素。 命名空间: Microsoft.SharePoint.Administration

访问Feature集合

获取某场,WSS Web应用程序(虚拟服务器),网站集,内Feature的集合,可以使用下列属性之一来访问集合:

Microsoft.SharePoint.Administration.SPWebApplication.Features 返回一个虚拟服务器范围上激活的Feature清单,也就是Web应用程序范围内的。

Microsoft.SharePoint.Administration.SPWebService.Features 返回服务器场范围内的管理类型的Feature。

Microsoft.SharePoint.Administration.SPFarm.FeatureDefinitions 返回服务器场内安装的所有Feature的清单。

Microsoft.SharePoint.SPSite.Features 返回网站集内激活状态的Feature清单。

Microsoft.SharePoint.SPWeb.Features 返回网站内激活状态的Feature清单。

Microsoft.SharePoint.Administration.SPFeatureDefinition.ActivationDependencies 返回某Feature激活依赖的Feature的清单。

示例

下面的例子列出了在特定网站内容激活了的所有Feature的名称和GUID:

SPSite siteCollection = SPControl.GetContextSite(Context);

SPWeb site = siteCollection.AllWebs["Site"];

SPFeatureCollection siteFeatures = site.Features;

System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo(1033);

foreach (SPFeature siteFeature in siteFeatures)

{

Response.Write("Title: " + siteFeature.Definition.GetTitle(cultureInfo) + "<BR>ID:"

+ siteFeature.DefinitionId.ToString() + "<BR><BR>");

}

下面的例子使用上面返回的信息来添加Feature到子网站:

SPWeb subSite = site.Webs["SubSite"];

System.Guid guid = new System.Guid("6e005f62-f8b2-4073-a673-c035c9129946");

subSite.Features.Add(guid);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: