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

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是比较重要的对象,会在下回说到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值