[Sharepoint2007对象模型]第一回:服务器场(SPFarm)
Sharepoint是微軟一個(gè)很重要的服務(wù)器產(chǎn)品,它可以方便的創(chuàng)建和維護(hù)一個(gè)網(wǎng)站,在Sharepoint的管理中心提供了很強(qiáng)大的管理工具。同時(shí)為了更加靈活的后期定制和開(kāi)發(fā),Sharepoint提供了完整的對(duì)象模型,對(duì)象模型也就相當(dāng)于Sharepoint的二次開(kāi)發(fā)接口,從服務(wù)器場(chǎng)到一個(gè)網(wǎng)站,以至一個(gè)Sharepoint中的列表都有相應(yīng)的對(duì)象模型。本系列希望能對(duì)Sharepoint的對(duì)象模型進(jìn)行一個(gè)大體的介紹。
第一回:服務(wù)器場(chǎng)
服務(wù)器場(chǎng)是Sharepoint2007中最高的一個(gè)層次,在安裝Sharepoint時(shí)可以把幾臺(tái)機(jī)器安裝在同一個(gè)服務(wù)器場(chǎng)中,比如同一個(gè)服務(wù)器場(chǎng)中可以包含一臺(tái)搜索服務(wù)器、兩臺(tái)應(yīng)用服務(wù)器......,服務(wù)器場(chǎng)對(duì)應(yīng)的對(duì)象模型就是SPFarm
在C#中可以直接取得服務(wù)器場(chǎng)的對(duì)象模型:
????????public?SPFarm?CurrentFarm?=?SPFarm.Local;
(當(dāng)前應(yīng)用程序需要在服務(wù)器場(chǎng)內(nèi)的某臺(tái)服務(wù)器上)
在一個(gè)服務(wù)器場(chǎng)下主要包含五個(gè)對(duì)象:功能集定義,屬性集,服務(wù)器場(chǎng)上的服務(wù)器,服務(wù)器上的服務(wù),解決方案.
功能集定義包含服務(wù)器場(chǎng)的一些功能,對(duì)應(yīng)的對(duì)象模型為:SPFeatureDefinition
????????????TreeNode?nodeFeature?=?nodeParent.Nodes.Add("功能集定義");
????????????foreach?(SPFeatureDefinition?definition?in?CurrentFarm.FeatureDefinitions)
????????????{
????????????????nodeFeature.Nodes.Add(GetFeatureName(definition));
????????????}
GetFeatureName方法取得功能的名稱,(2052代表的是簡(jiǎn)體中文)
?
????????private?string?GetFeatureName(SPFeatureDefinition?definition)
????????{
????????????string?strRet?=?definition.GetTitle(new?System.Globalization.CultureInfo(2052));
????????????if?(String.IsNullOrEmpty(strRet))
????????????{
????????????????strRet?=?definition.DisplayName;
????????????}
????????????return?strRet;
????????}
?
屬性集包含服務(wù)器場(chǎng)上定義的一些屬性:
????????????TreeNode?nodeProperty?=?nodeParent.Nodes.Add("屬性集");
????????????foreach?(DictionaryEntry?entry?in?CurrentFarm.Properties)
????????????{
????????????????nodeProperty.Nodes.Add(entry.Key.ToString());
????????????}
服務(wù)器場(chǎng)上的服務(wù)器指的是服務(wù)場(chǎng)上使用了哪些服務(wù)器,比如web服務(wù)器的名稱,數(shù)據(jù)庫(kù)服務(wù)的名稱等,對(duì)應(yīng)的對(duì)象模型為:SPServer
????????????TreeNode?nodeServer?=?nodeParent.Nodes.Add("服務(wù)器場(chǎng)上的服務(wù)器");
????????????foreach?(SPServer?server?in?CurrentFarm.Servers)
????????????{
????????????????nodeServer.Nodes.Add(server.DisplayName);
????????????}
服務(wù)器上的服務(wù)指的是提供了哪些服務(wù),比如Web應(yīng)用程序服務(wù),搜索服務(wù)等,對(duì)應(yīng)的對(duì)象模型為:SPService
?
????????????TreeNode?nodeService?=?nodeParent.Nodes.Add("服務(wù)器上的服務(wù)");
????????????foreach?(SPService?Service?in?CurrentFarm.Services)
????????????{
????????????????TreeNode?nodeWeb?=?nodeService.Nodes.Add(Service.TypeName);
????????????????if?(Service?is?SPWebService)
????????????????{
????????????????????SPWebService?webServices?=?Service?as?SPWebService;
????????????????????ShowWebService(webServices,?nodeWeb);
????????????????}
????????????}
?
ShowWebService方法是用來(lái)取得web應(yīng)用程序服務(wù)信息的,在第二回中會(huì)詳細(xì)說(shuō)明。
解決方案取得的是服務(wù)器場(chǎng)上安裝了哪些解決方案,我們可以使用?stsadm –o addsolution –filename solution.wsp命令安裝自己的解決方案,它對(duì)應(yīng)的對(duì)象模型是SPSolution
????????????TreeNode?nodeSolution?=?nodeParent.Nodes.Add("解決方案");
????????????foreach?(SPSolution?Solution?in?CurrentFarm.Solutions)
????????????{
????????????????nodeSolution.Nodes.Add(Solution.DisplayName);
????????????}
最后的畫(huà)面截圖如下所示:
小結(jié):本回只是介紹了sharepoint對(duì)象模型幾個(gè)比較大的對(duì)象,后面的文章會(huì)對(duì)一些比較重要的對(duì)象進(jìn)行逐步說(shuō)明。其中SPWebService是比較重要的對(duì)象,會(huì)在下回說(shuō)到
總結(jié)
以上是生活随笔為你收集整理的[Sharepoint2007对象模型]第一回:服务器场(SPFarm)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 天美为虚幻4新作招兵买马 游戏类型为大世
- 下一篇: console对象的方法log、info