您的位置:首页 > 其它

[Sharepoint2007对象模型]第一回:服务器场(SPFarm)

2009-01-19 09:38 411 查看
Sharepoint是微软一个很重要的服务器产品,它可以方便的创建和维护一个网站,在
Sharepoint的管理中心提供了很强大的管理工具。同时为了更加灵活的后期定制和开发,Sharepoint提供了完整的对象模型,对象模型也就相
当于Sharepoint的二次开发接口,从服务器场到一个网站,以至一个Sharepoint中的列表都有相应的对象模型。本系列希望能对
Sharepoint的对象模型进行一个大体的介绍。

第一回:服务器场

服务器场是Sharepoint2007中最高的一个层次,在安装Sharepoint时可以把几台机器安装在同一个服务器场中,比如同一个服务器场中可以包含一台搜索服务器、两台应用服务器......,服务器场对应的对象模型就是SPFarm

在C#中可以直接取得服务器场的对象模型:

public SPFarm CurrentFarm = SPFarm.Local;
(当前应用程序需要在服务器场内的某台服务器上)

在一个服务器场下主要包含五个对象:功能集定义,属性集,服务器场上的服务器,服务器上的服务,解决方案.

功能集定义包含服务器场的一些功能,对应的对象模型为:SPFeatureDefinition

TreeNode nodeFeature = nodeParent.Nodes.Add("功能集定义");

foreach (SPFeatureDefinition definition in CurrentFarm.FeatureDefinitions)

{

nodeFeature.Nodes.Add(GetFeatureName(definition));

}
GetFeatureName方法取得功能的名称,(2052代表的是简体中文)

private string GetFeatureName(SPFeatureDefinition definition)

{

string strRet = definition.GetTitle(new System.Globalization.CultureInfo(2052));

if (String.IsNullOrEmpty(strRet))

{

strRet = definition.DisplayName;

}

return strRet;

}
属性集包含服务器场上定义的一些属性:

TreeNode nodeProperty = nodeParent.Nodes.Add("属性集");

foreach (DictionaryEntry entry in CurrentFarm.Properties)

{

nodeProperty.Nodes.Add(entry.Key.ToString());

}
服务器场上的服务器指的是服务场上使用了哪些服务器,比如web服务器的名称,数据库服务的名称等,对应的对象模型为:SPServer

TreeNode nodeServer = nodeParent.Nodes.Add("服务器场上的服务器");

foreach (SPServer server in CurrentFarm.Servers)

{

nodeServer.Nodes.Add(server.DisplayName);

}
服务器上的服务指的是提供了哪些服务,比如Web应用程序服务,搜索服务等,对应的对象模型为:SPService

TreeNode nodeService = nodeParent.Nodes.Add("服务器上的服务");

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方法是用来取得web应用程序服务信息的,在第二回中会详细说明。

解决方案取得的是服务器场上安装了哪些解决方案,我们可以使用 stsadm –o addsolution –filename solution.wsp命令安装自己的解决方案,它对应的对象模型是SPSolution

TreeNode nodeSolution = nodeParent.Nodes.Add("解决方案");

foreach (SPSolution Solution in CurrentFarm.Solutions)

{

nodeSolution.Nodes.Add(Solution.DisplayName);

}
最后的画面截图如下所示:





小结:本回只是介绍了sharepoint对象模型几个比较大的对象,后面的文章会对一些比较重要的对象进行逐步说明。其中SPWebService是比较重要的对象,会在下回说到
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐