网页处理模型

上次修改时间: 2010年4月15日

适用范围: SharePoint Server 2010

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

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

图 1. SharePoint Server 2010 中的页面处理模型

SharePoint Server 2010 中的页面处理模型

页面处理模型

下面的列表介绍了 ASP.NET 与 SharePoint Foundation 如何交互作用以便在 SharePoint 网站中呈现页面:

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

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

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

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

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

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

  7. ASP.NET 查询 SharePoint Foundation 文件提供程序以搜索内容页面。

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

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

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

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

  12. 内容页面在所请求页面的上下文中运行该页面上的每个控件。

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

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

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

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

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

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

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

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

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

备注

ASP.NET 每次都会呈现这些控件,不过此过程不需要多长时间。如果您不希望每次都呈现控件,则可以打开 ASP.NET 页面输出缓存功能。

请参阅

任务

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

概念

自定义缓存概述

输出缓存和缓存配置文件

其他资源

母版页