SharePoint学习札记[1] — WSS与MOSS的关系

Windows SharePoint Services 是一个用来创建能够实现信息共享和文档协作的Web站点的引擎,从而有助于提高个人和团队的生产力。它是Microsoft Windows Server™ 2003中所提供的信息工作者体系结构的重要组成部分, 为Microsoft Office System和其他的桌面应用程序提供了附加的功能,并能够作为应用程序开发的平台。
      SharePoint 站点将文件存储提升到一个新的高度,从存储文件到共享信息。这些站点可以为团队协作提供社区,使得用户能够在文档、任务、联系人、事件以及其他信息上开展协作。它们允许团队和站点管理者更轻松地管理站点内容和活动。这样的环境旨在实现轻松和灵活的部署、管理以及应用程序开发。
      Windows SharePoint Services 是一种通用方法,各种规模的组织和业务单位都可以使用它来提高业务流程的效率和团队的工作效率。通过使用有助于用户跨组织和跨地区边界保持连接的协作工具,Windows SharePoint Services 使用户能够访问他们所需的信息。
      建立在 Microsoft Windows Server 2003 之上的 Windows SharePoint Services 还提供了一个基础平台,用于构建基于 Web 的业务应用程序,可以轻松地调整和缩放这些程序以满足不断变化和日益增长的业务需求。通过使用可靠的管理控件来管理存储和 Web 基础架构,IT 部门可以采用一种节省成本的方式实现和管理高性能协作环境。由于采用大家所熟悉的基于 Web 的界面,并且与日常工具(包括 2007 Microsoft Office system)紧密集成,因此 Windows SharePoint Server 易于使用,并且可以快速进行部署。
      Microsoft Office SharePoint Service 2007是微软最新的企业协作应用和开发平台。简称MOSSMOSS基于Window SharePoint Service 3.0 (简称WSS)开发。MOSS是收费的,WSS是免费的,只要拥有了Window Server2003的许可,就可以免费安装WSS
     WSS拥有站点,列表,文档库,文档管理,WebPart,集群部署,站点内搜索,基于WF的工作流等功能。MOSS扩展实现了增强的文档管理,企业搜索,扩展了工作流,引入了Web内容管理,Form ServiceExcel Service,个人站点等。
      以下若没有特别强调,所有内容都适合WSSMOSS(所有适合WSS的内容也一定适合MOSS,反之则不然)

l         WSSIIS的扩展
      WSS基于标准的Asp.Net2.0开发,这是WSS开发中要始终记住的一点要精通WSS开发,一定要精通Asp.Net      每次新建一个WSS站点,IIS中会同样新建一个网站,我们称这个网站是被WSS扩展后的网站。那么扩展后发生了什么呢?
      首先,IIS站点的所有文件的处理都被影射为需要Asp.Net运行引擎处理,而标准的IIS站点只有Asp.Net本身的文件(如aspxasmx等)才需要运行引擎处理的,其他文件由IIS直接输出到客户端。
      查看一下站点下的web.config文件,我们看到有这么一项配置:
<httpHandlers>
      <removeverb="GET,HEAD,POST"path="*" />
      <addverb="GET,HEAD,POST"path="*"type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
      <addverb="OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY,GETLIB,PROPPATCH,MKCOL,DELETE,(GETSOURCE),(HEADSOURCE),(POSTSOURCE)"path="*"type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
      <addverb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</httpHandlers>
      HttpHandlerAsp.Net的一个扩展机制,通过实现一个HttpHandler,可以来直接针对较低层的RequestResponse编程,WSS通过实现自己的HttpHandler实现对客户端所有请求文件的处理,并且通过扩展Http请求(扩展OPTIONSPROPFINDLOCKUNLOCKMOVECOPY等动作)实现文档的在线编辑(在线编辑的实现原理可参考这篇文章:http://www.cnblogs.com/jianyi0115/archive/2007/07/15/818566.html)
    注意httpModules节点下的这项配置:
     <addname="SPRequest"type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />  
      HttpModule也是Asp.Net的扩展机制,通过实现一个HttpModule,可以切入Http请求的某个阶段做出相应的处理,如身份校验,初始化一些通用模块等。
      WSS通过实现SPRequestModule,切入Http请求,进行一些需要的处理。最重要的是,WSS通过SPRequestModule引入了SPVirtualPathProviderSPRequestModuleOnInit方法中有这个关键的一句:
      SPVirtualPathProvider provider2 = new SPVirtualPathProvider();
      HostingEnvironment.RegisterVirtualPathProvider(provider2);
      VirtualPathProvider也是Asp.Net的扩展机制,通过实现VirtualPathProvider可以控制Asp.Net页面的提供机制,默认的VirtualPathProvider的实现直接访问服务器硬盘上的文件。WSS通过SPVirtualPathProvider实现了自己的页面Provider机制—WSS站点的页面是由文件系统和数据库联合存储的。
    新建一个WSS站点后,它的所有的文件都是放在硬盘上,我们通过SharePoint Designer打开一个WSS站点,可以看到完整的目录结构,这些文件实际上全部都影射到文件系统上的某个文件,这个功能叫做ghost。当我们通过SPD修改了某个文件之后,WSS会把这个修改的文件保存到数据库,这个文件跟原始的文件系统上的文件就脱离关联了,这叫做unghost.通过ghost,WSS做到了是不同的站点可以共享相同的文件,通过unghost,WSS又实现了一个站点对页面的修改不会影响到其他站点.

l         WSS的一些概念
1)Farm -- 服务器场
     服务器场是WSS最大的一个概念,整个WSS的所有服务器,包括前端服务器,数据服务器,组成了服务器场,一个服务器场有一个配置数据库,多个内容数据库,多个应用程序.
2)Application -- 应用程序
    应用程序对应IIS的一个站点,它是一个安全和程序文件的独立主体。即一个应用程序可以有自己的用户身份认证机制有自己独立的一套运行程序文件,一个应用程序会映射到硬盘上的一个独立的目录,一般为"C:"Inetpub"wwwroot"wss"VirtualDirectories"里面的某个目录.一个应用程序下可以有多个站点集.
3)Site Collection -- 站点集
    站点集是一个虚拟的单元,在内容,用户和权限上是独立的一个站点集可以有多个子站点.
4)Web--站点
    站点内容和权限的组织单元.一个站点可以有多个子站点,多个列表,文档库,多个页面.站点可以有独立的权限.站点可以有子站点,站点和子站点组成树型关系.子站点的权限默认集成于父站点.
5)List-列表和文档库
    列表可以理解成一个数据库表,用来存储一些业务数据。一个列表有很多字段。WSS3.0的列表可以存放多个内容类型。6)ConentType--内容类型
    内容类型可以理解成数据实体,如用户,联系人,日程数据等。一个内容类型包含很多字段。
7)Field-字段
     可以理解成数据库的字段,FieldWSS整个架构的最底层元素。       

 l         WSS的对象模型
       WSS
开发很大一部分工作是需要调用各种WSS中的对象来实现的.常用的对象都放在Microsoft .SharePoint这个dll.我们通常的开发都要从站点集对象开始.
Using(SPSite site = new SPSte(“”))
{

}  
     SPSiteSPWeb对象都是需要释放资源的,如果我们自己构造这两个对象,一定要在代码执行完毕时调用Dispose方法,来释放资源.
     如果我们的代码处于WSS的运行环境之下,即代码直接运行在WSS的页面上,那么我们可以直接从WSS的上下文中获取到相关对象.
SPSIte site = SPContext.Current.Site;
SPWeb web = SPContext.Current.Web; 
SPUser user = SPContext.Current.Web.CurrentUser; 
    上下文对象提供了更好的性能(不需要重复创建对象),并且直接跟当前用户的身份挂钩.上下文对象由运行环境进行资源管理,不需要我们用代码来Dispose.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437884.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python CheckiO 题解】Time Converter (24h to 12h)

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

SharePoint学习札记[2] — MOSS2007体系结构概述

熟悉微软Office产品线的人都知道&#xff0c;MOSS 2007的上一个版本SPS 2003的全称是 Office Sharepoint Portal Server&#xff0c;在新版本中&#xff0c;微软去掉了Portal一个词。从这个角度很清楚地看到微软对MOSS 2007的定位&#xff0c;是的&#xff0c;MOSS 已经不再仅仅…

【Python CheckiO 题解】Non-unique Elements

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【Python CheckiO 题解】Sort Array by Element Frequency

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

SharePoint学习札记[3] — Office SharePoint Server 2007部署

MOSS的第一步就是部署啦!《0ffice SharePoint Server 2007部署图示指南》图文并茂的展示了OSS2007的部署过程。虽然并不难&#xff0c;但对MOSS还摸不清方向的人来说是个不错的指导。手册的作者没有署名&#xff0c;也查不到出自谁手&#xff0c;在这里对他的劳动成果表示感谢…

【Python CheckiO 题解】Flatten a List

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

SharePoint学习札记[4] — 创建SharePoint站点

为减少创建SharePoint站点过程中的麻烦&#xff0c;先打开IIS管理器&#xff0c;将“默认站点”停止或删除。后面的创建过程中&#xff0c;创建向导会自动创建端口为80的网站。 现在将&#xff1a; 1. 创建两个Web应用程序。 2. 创建共享服务。 3. 创建…

【Python CheckiO 题解】Long Repeat

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

SharePoint学习札记[5] — 设置匿名访问

设置网站的匿名访问一般有三种情况&#xff1a; 1. 创建Web应用程序时进行匿名访问设置。 2. 对已建立的网站进行匿名访问设置。 3. 对同一个网站分别设置验证访问和匿名访问。创建Web应用程序时进行匿名访问设置 新建Web应用程序时在“安全性配置”的“允许匿名访问”选…

【Python CheckiO 题解】Sun Angle

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

解决text-overflow: ellipsis;不生效的问题

按照text-overflow: ellipsis;使用规则&#xff0c;在标签样式中添加该属性未生效&#xff0c;例如&#xff1a; 写道 .text { text-overflow: ellipsis; } <div class"text">长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字长文字…

【Python CheckiO 题解】Bird Language

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

Python CheckiO 题解系列 丨 博客目录索引

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本题解系列主要记录自己在用 Python 闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 …

文带你深入了解 Redis 内存模型

前言 Redis是目前最火爆的内存数据库之一&#xff0c;通过在内存中读写数据&#xff0c;大大提高了读写速度&#xff0c;可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时&#xff0c;会接触Redis的5种对象类型&#xff08;字符串、哈希、列表、集合、有序集合…

【Python CheckiO 题解】Pawn Brotherhood

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【Python CheckiO 题解】Xs and Os Referee

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

c#多线程总结(纯干货)

线程基础 创建线程 static void Main(string[] args) {Thread t new Thread(PrintNumbers);t.Start();//线程开始执行PrintNumbers();Console.ReadKey(); }static void PrintNumbers() {Console.WriteLine("Starting...");for (int i 1; i < 10; i){Console.Wr…

Hexo 博客优化之实用功能添加系列(持续更新)

2022-01-25 更新&#xff1a;博客新地址&#xff1a;https://www.itbob.cn/&#xff0c;文章距上次编辑时间较远&#xff0c;部分内容可能已经过时&#xff01; 本文将讲述一些 Hexo 博客实用功能的添加&#xff0c;本文以作者 luuman 的 spfk 主题和作者 xaoxuu 的 Material X…

SharePoint关于publish page, WiKi page, Web part page区别

并非所有页面类型都相似 让我们来重新理解一下关于这三种页面的问题&#xff0c;自己找了很多文章并没有找到很好的介绍。 尽可能简单&#xff0c;SharePoint页面是您的用户内容显示的地方。您可以将其比喻成SharePoint站点的“脸和身体”。因此&#xff0c;当你访问SharePoi…

【Python CheckiO 题解】The Warriors

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…