[Sharepoint2007对象模型]第一回:服务器场(SPFarm)-阿里云开发者社区

开发者社区> 橘子红了呐> 正文

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




    本文转自永春博客园博客,原文链接:http://www.cnblogs.com/firstyi/archive/2008/07/31/1257549.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Aerospike数据库服务器被发现三个严重安全漏洞
本文讲的是Aerospike数据库服务器被发现三个严重安全漏洞,Aerospike数据库是一个高性能的,开源NoSQL数据库,但是,思科公司Talos小组的安全专家却发现了Aerospike数据库服务器一系列安全缺陷和漏洞。
1764 0
JavaScript Window - 浏览器对象模型
浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。 浏览器对象模型 (Browser Object Model) 尚无正式标准。
899 0
12月21日云栖精选夜读 | 推荐:一款分布式的对象存储服务
最近公司在准备内部数据上云,并且内部数据库每天的数据量很大,需要采用大数据存储的方案。 方案调研每个程序技术在实现之前,需要进行开源产品的调研,适合自己产品的技术方案才是最好的。 需求我们需要处理是图像信息,大小在1M左右。
2461 0
Java面向对象高级--接口的基本概念--------interface、implements
<h1>1、接口:</h1> <div>接口是一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法(abstract)组成。</div> <div> <img src="http://img.blog.csdn.net/20130925155209156" alt=""><br> </div> <div> <pre name="code" class="j
972 0
未能初始化 PassportManager 对象。请确保在服务器上正确安装了 Microsoft Passport。
未能初始化 PassportManager 对象。请确保在服务器上正确安装了 Microsoft Passport。 已经不记得 Microsoft Passport 怎么使用了,也没有查到 Microsoft Passport 的安装方法。
802 0
JavaScript创建对象(四)——组合使用构造函数和原型模式
在JavaScript创建对象(三)——原型模式中,我们阐述了原型模式存在的两个问题:一是没办法通过构造函数初始化对象属性,二是共享引用类型的数据导致数据错乱。
825 0
3404
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载