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

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

  1. [Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)

    在Sharepoint的管理中心创建一个网站的顺序大致如下:创建Web应用程序-〉创建网站集.所以Web应用程序是网站的一个基础,在一个Web应用程序下可以创建多个网站,本回就主要来介绍Web应用程序 ...

  2. [Sharepoint2007对象模型]第二回:Web应用程序服务(SPWebService)

    在上一回中说了Sharepoint中的服务器场,在服务器场中最重要的一个服务就是Web应用程序服务.我们自己的Sharepoint网站都是借助于这个服务才能正常运行的,也就是说所有的Sharepoin ...

  3. 仅通过SQL备份文件将MOSS服务器场及所有网站数据迁移到新的一台服务器上

    背景: 这是一次完整到服务器迁移项目.现有MOSS的物理环境是两台服务器,一台后台的SQL服务器,一台前台的Web服务器.SQL服务器为Win03+SQL05,Web服务器为Win03+MOSS07. ...

  4. 自由职业半年,我又滚回职场了...

    前几天刚写了一篇<自由职业的前半年,我是如何度过的?>最近又重新杀回职场了,像是打了败仗的孩子,委屈又不甘心,而且似乎也不怎么值得炫耀. 还能想象半年前,当我爸知道我要辞职时努力劝我的样子 ...

  5. 在TMG2010中发布Web服务器场

    在许多情况下,我们使用TMG2010(或ISA Server 2006)发布单一的Web服务器,这适合对可靠性与性能要求不高的单位.如果用户对网站的响应要求比较高,并且要求实时在线并且需要提供容灾能力 ...

  6. [你必须知道的css系列]第一回:丰富的利器2:CSS选择符之子选择符、相邻选择符...

    对了,接下来要讲的属性选择符,相邻选择符,子对象选择符可能大家稍微有点陌生了,这当然也是有原因的,因为IE6及以下的浏览器并不支持这几个选择符,而 大多数从事这方面工作的技术人员,多数时候还是主要考虑 ...

  7. 未安装在此服务器场中,无法添加到该范围

    概述:    新上传一个网站模板后,出现如下错误:     功能"75a0fea7-040e-4abb-b94b-32f1e7572840"未安装在此服务器场中,无法添加到该范围. ...

  8. 读书:儒林外史第一回

    第一回讲了王冕的人生经历. 王冕家境贫穷,但聪颖好学,也很会学习.他自学三个月的画画,就能画一幅好画,还能够卖出去.会作诗,诗集也能卖出去.这种人才搁到现在,估计也早实现财务自由. 王冕不是死读书的人 ...

  9. 将Reporting Service 2005 SP2集成部署到WSS3或MOSS2007服务器场心得

    关于WSS3和MOSS2007安装部署方面的资料已经很多,我这里就不说了,我这里说的是怎样快速.顺利地以继承方式部署Reporting Service Server 2005 SP2到WSS3和MOS ...

最新文章

  1. 【Kaggle-MNIST之路】CNN再添加一个层卷积(八)
  2. python群发短信脚本_python实现zabbix发送短信脚本
  3. android 日程安排view,RecyclerView 列表控件中简单实现时间线
  4. tomcat 配置https 访
  5. Git 输入命令git branch -a 后怎么返回
  6. 飞秋在使用高分辨率的显示器时字体太小,应该这样设置就和以前一样
  7. FPGA的多路偶数分频器设计
  8. 管理学(第二课)笔记
  9. WebAssembly:系统编程语言的逆袭
  10. Linux e1000e网卡驱动
  11. html div flex,CSS中flex布局详解
  12. 手把手教你用python实现机器学习预测疾病
  13. python中answer_python新手关于一个实例:提示 answer = input()这行有问题,复制粘贴的,请高手指正...
  14. 【C进阶】字符串函数及其复写
  15. 常用端口号及其对应作用
  16. uni-app H5使用web-view父子之间的相互传值
  17. 麒麟950,麒麟960,麒麟970芯片处理器参数比较分析
  18. linux下新增ftp账号,【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...
  19. 现在连收银员也要考试了吗?
  20. 【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

热门文章

  1. 简洁又快速地处理集合——Java8 Stream(下)
  2. 46-单元测试(1)
  3. 【bzoj3514】 Codechef MARCH14 GERALD07加强版
  4. 基于三值图像的车牌识别测试程序发布
  5. Microsoft Jet SQL 参考在线手册
  6. [剑指offer]面试题第[52]题[Leedcode][第160题][JAVA][相交链表][双指针]
  7. [Leedcode][JAVA][第84题][柱状图中最大的矩形][暴力][单调栈]
  8. 华为云上可订阅F5_F5亮相华为云计算大会 解读云应用交付
  9. ftp 上传文件夹_命令行连接FTP服务器
  10. matlab 符号表达式 系数 小数,matlab符号表达式系数