• WSS和MOSS的区别


    Microsoft Office SharePoint Service 2007 是微软最新的企业协作应用和开发平台。简称MOSS,MOSS基于Window SharePonit Service 3.0开发,简称WSS。MOSS是收费的,WSS是免费的,只要拥有了Window Server2003的许可,就可以免费安装WSS。

    WSS拥有站点,列表,文档库,文档管理,web part,集群部署,站点内搜索,基于WF的工作流等功能。MOSS扩展实现了增强的文档管理,企业搜索,扩展了工作流,引入了web内容管理,Form Service , Excel Service,个人站点等。

                       以下章节若没有特别强调,则所有内容都适合WSS和MOSS的。所有适合WSS的内容也一定适合MOSS,反之则不然。

    WSS对IIS的扩展

             WSS基于标准的asp.net 2.0开发 ,这是WSS开发中要始终记住的一点. 要精通WSS开发,一定要精通asp.net。

             每次新建一个WSS站点,IIS中会同样新建一个网站,我们称这个网站是被WSS扩展后的网站。那么扩展后,发生了什么呢?

             首先,IIS站点的所有文件的处理都被影射为需要asp.net运行引擎处理,而标准的IIS站点只有asp.net本身的文件(如aspx,asmx等)才需要运行引擎处理的,其他文件由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" />

        </httpHandlers>

    HttpHandler是asp.net的一个扩展机制,通过实现一个HttpHandler,可以来直接针对较低层的Request,Response编程,WSS通过实现自己的HttpHandler实现对客户端所有请求文件的处理,并且,通过扩展Http请求(扩展OPTIONS,PROPFIND,PUT,LOCK,UNLOCK,MOVE,COPY等动作),实现文档的在线编辑,在线编辑的实现原理可参考这篇文章: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引入了SPVirtualPathProvider。SPRequestModule的OnInit方法中有这个关键的一句:

        SPVirtualPathProvider provider2 = new SPVirtualPathProvider();

    HostingEnvironment.RegisterVirtualPathProvider(provider2);

    VirtualPathProvider也是asp.net的扩展机制,通过实现VirtualPathProvider可以控制asp.net页面的提供机制,默认的VirtualPathProvider的实现直接访问服务器硬盘上的文件。WSS通过SPVirtualPathProvider实现了自己的页面Provider机制—WSS站点的页面是由文件系统和数据库联合存储的。

    新建一个WSS站点后,它的所有的文件都是放在硬盘上,我们通过SharePonit Designer打开一个WSS站点,可以看到完整的目录结构,这些文件实际上全部都影射到文件系统上的某个文件,这个功能叫做ghost。当我们通过SPD修改了某个文件之后,WSS会把这个修改的文件保存到数据库,这个文件跟原始的文件系统上的文件就脱离关联了,这叫做unghost.通过ghost,WSS做到了是不同的站点可以共享相同的文件,通过unghost,WSS又实现了一个站点对页面的修改不会影响到其他站点.

    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-字段

         可以理解成数据库的字段,Field是WSS整个架构的最底层元素。

    WSS的对象模型       

             WSS开发很大一部分工作是需要调用各种WSS中的对象来实现的.常用的对象都放在Microsoft.SharePont这个dll中.我们通常的开发都要从站点集对象开始.

    Using(SPSite site = new SPSte(“”))

    {

    }                

             SPSite和SPWeb对象都是需要释放资源的,如果我们自己构造这两个对象,一定要在代码执行完毕时调用Dispose方法,来释放资源.

             如果我们的代码处于WSS的运行环境之下,即代码直接运行在WSS的页面上,那么我们可以直接从WSS的上下文中获取到相关对象.

    SPSIte site = SPContext.Current.Site;

    SPWeb web = SPContext.Current.Web;  

    SPUser user = SPContext.Current.Web.CurrentUser;    

            上下文对象提供了更好的性能(不需要重复创建对象),并且直接跟当前用户的身份挂钩.上下文对象由运行环境进行资源管理,不需要我们用代码来Dispose.

    MOSS2007构建与WSS V3之上,并在其之上加了很多的企业级应用,其关系如下图所示:

    原文摘自:http://blog.csdn.net/figerdeng/archive/2010/04/26/5532029.aspx

  • 相关阅读:
    黄聪:destoon常用数据库操作(插入、更新、删除、获取一行信息)
    黄聪:wordpress获取当前插件文件所在目录文件夹路径
    黄聪:destoon系统标签调用大全(转)
    黄聪:Destoon供求栏目下旺旺无法正常显示,点击提醒“会员名不存在”
    黄聪:DZ7.2搬家后图片显示为X,无法正常显示
    黄聪:Destoon大文件上传限制,修改设置上限。
    黄聪:WordPress添加“特色图片”功能并调用
    黄聪:Destoon中循环嵌套Loop和php代码结合调用自增长数字
    黄聪:JS+DIV+CSS实现图表、饼状图、折线图功能Highcharts
    黄聪:Destoon模板存放及调用规则
  • 原文地址:https://www.cnblogs.com/alvin_xp/p/1911534.html
Copyright © 2020-2023  润新知