网页处理模型

对于 Microsoft Content Management Server 2002,Microsoft Office SharePoint Server 2007 是一个基于模板的页面呈现系统。SharePoint 网站中用于呈现页面的两个基本模板是母版页和页面布局。母版页可由所有网页实例用在网站中。基于页面布局的所有页面实例都可以使用相应的页面布局。页面布局作为列表项存储在母版页和页面布局库中,因此,您可以使用版本控制、签入和签出、工作流以及可用于 SharePoint 文档库的其他功能。

Office SharePoint Server 2007 建立于 Windows SharePoint Services 3.0 和 Microsoft ASP.NET 2.0 基础之上。ASP.NET 引擎解释并运行所有 SharePoint 页面请求。例如,假设某个用户在浏览器中请求名为 welcome.aspx 的页面。ASP.NET 引擎将通过 Windows SharePoint Services 3.0FileProvider 对象检索与此页面关联的页面布局和与此网站关联的母版页,然后,它将字段中的字段控件和 Web 部件呈现到该页面上。下图显示了 Office SharePoint Server 2007 中的页面处理模型。

MOSS 中的页面处理模型

页面处理模型

下面的列表给出了详细的分步说明,介绍 ASP.NET 2.0 与 Windows SharePoint Services 3.0 如何交互作用以便在 SharePoint 网站中呈现页面:

  1. 浏览器从 Microsoft Internet Information Services (IIS) 请求一个网页。

  2. IIS 将此请求传递到 ASP.NET 2.0。

  3. 将为此请求创建一个 HttpApplication 管道。

  4. ASP.NET 2.0 通过 Windows SharePoint Services 3.03 文件提供程序提取该页面。ASP.NET 将此 URL 传递给文件提供程序,文件提供程序提取页面并返回页面流。Windows SharePoint Services 文件提供程序实现缓存并减少往返数据库的次数。

  5. ASP.NET 将加载 Page 类,分析页面流,并查找对页面所基于的页面布局的引用。

  6. ASP.NET 引擎编译页面流并将其存储在内存中。

  7. ASP.NET 查询 Windows SharePoint Services 文件提供程序以搜索页面布局。

  8. ASP.NET 加载与当前页面关联的页面布局流。

  9. ASP.NET 编译页面布局并将其存储在内存中。如果系统需要内存,ASP.NET 稍后可释放此内存。

  10. ASP.NET 确定网站的母版页,并通过 Windows SharePoint Services 文件提供程序获取该母版页。

  11. ASP.NET 编译母版页并写入磁盘,这样,您将始终不需要重新编译该母版页,除非您修改它。

  12. 页面布局在所请求的页面的上下文中,在此页面上运行每个控件。

  13. ASP.NET 更新必需的缓存。

  14. IIS 将页面返回到浏览器。

当同一个用户或与第一个用户具有相同的页面查看权限的其他用户下一次请求此页面时,处理页面的效率要高得多:

  1. 浏览器从 IIS 请求网页。

  2. IIS 将此请求传递到 ASP.NET 2.0。

  3. 将为此请求创建一个 HTTPApplication 管道,此管道将命中 HandleRequest。

  4. ASP.NET 使用所有内部缓存。

  5. ASP.NET 为控件呈现 HTML。

  6. IIS 将页面返回到浏览器。

备注

即使此过程不需要多少时间,ASP.NET 每次也会呈现这些控件,但您可能不希望这样。在这种情况下,您可以打开 ASP.NET 2.0 页面输出缓存功能。

See Also

任务

如何:使用 VaryByCustom 事件处理程序扩展缓存

如何:创建最简单的母版页

概念

自定义缓存概述

输出缓存和缓存配置文件