首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WSS 3.0 SDK Feature 物件模型完整解析

     編輯:關於.NET

前言

Windows SharePoint Services 3.0 提供完整的物件模型,用於列舉指定範圍內已安裝的 Feature 清單,並控制 Feature 在伺服器陣列或網站層級的啟用狀態。本文整理核心類別與常用操作範例。

核心類別庫

類別命名空間說明
SPFeature / SPFeatureCollectionMicrosoft.SharePoint描述 Feature 在對應層級(伺服器陣列、Web 應用程式、網站集合、網站)的啟用狀態。集合中存在即表示已啟用。
SPFeatureProperty / SPFeaturePropertyCollectionMicrosoft.SharePoint代表 Feature 的屬性集合。
SPFeatureScopeMicrosoft.SharePoint列舉可能的範圍:Farm、WebApplication、Site、Web。
SPFeatureDefinition / SPFeatureDefinitionCollectionMicrosoft.SharePoint.AdministrationFeature 基礎定義:名稱、範圍、ID、版本,可儲存全域屬性。
SPFeatureDependency / SPFeatureDependencyCollectionMicrosoft.SharePoint代表 Feature 之間的相依關係。
SPElementDefinition / SPElementDefinitionCollectionMicrosoft.SharePoint.AdministrationFeature 啟用時預置的元素定義。

存取 Feature 集合的屬性

  • SPWebApplication.Features — Web 應用程式範圍已啟用的 Feature
  • SPWebService.Features — 伺服器陣列範圍的管理型 Feature
  • SPFarm.FeatureDefinitions — 伺服器陣列安裝的所有 Feature 定義
  • SPSite.Features — 網站集合內已啟用的 Feature
  • SPWeb.Features — 網站內已啟用的 Feature
  • SPFeatureDefinition.ActivationDependencies — 某 Feature 啟用所相依的 Feature 清單

程式碼範例

列舉特定網站已啟用的 Feature

SPSite siteCollection = SPControl.GetContextSite(Context);
SPWeb site = siteCollection.AllWebs["Site"];
SPFeatureCollection siteFeatures = site.Features;
CultureInfo cultureInfo = new CultureInfo(1033);

foreach (SPFeature siteFeature in siteFeatures)
{
    Response.Write("Title: " + siteFeature.Definition.GetTitle(cultureInfo) + "<BR>ID:" + siteFeature.DefinitionId.ToString() + "<BR><BR>");
}

依 ID 將 Feature 新增至子網站

SPWeb subSite = site.Webs["SubSite"];
Guid guid = new Guid("6e005f62-f8b2-4073-a673-c035c9129946");
subSite.Features.Add(guid);

結語

掌握 Feature 物件模型,即可透過程式碼精確控管 SharePoint 功能的部署與啟用,實現自動化佈署與治理。開發者應熟悉各範圍對應的集合屬性,並善用 SPFeatureDefinition 取得中繼資料(標題、版本、相依性),構建健全的 Feature 生命週期管理方案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved