WSS3SDK之:Feature对象模型

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);

你可能感兴趣的:(sdk)