次の方法で共有


ページ処理モデル

最終更新日: 2010年4月15日

適用対象: SharePoint Server 2010

Microsoft SharePoint Server 2010 はテンプレート ベースのページ レンダリング システムです。SharePoint サイトのページ レンダリングには、マスター ページとページ レイアウトの 2 種類の基本テンプレートがあります。マスター ページは、サイト内のすべてのページ インスタンスで使用できます。ページ レイアウトは、そのページ レイアウトに基づいているすべてのページ インスタンスで使用できます。ページ レイアウトは、マスター ページとページ レイアウト ギャラリーのリスト アイテムとして保存されるので、バージョン管理、チェックインおよびチェックアウト、ワークフロー、その他 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 インターネット インフォメーション サービス (IIS) から Web ページを要求します。

  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 から Web ページを要求します。

  2. IIS が ASP.NET に要求を渡します。

  3. HTTPApplication パイプラインが要求に対して作成され、HandleRequest を呼び出します。

  4. ASP.NET がすべての内部キャッシュを使用します。

  5. ASP.NET がコントロール用の HTML をレンダリングします。

  6. IIS がブラウザにページを返します。

注意

この処理にはほとんど時間がかかりませんが、ASP.NET はその都度コントロールをレンダリングします。このような動作が不要の場合は、ASP.NET ページ出力キャッシュ機能を有効にすることができます。

関連項目

タスク

[方法] VaryByCustom イベント ハンドラーを使用してキャッシュを拡張する

概念

カスタム キャッシュの概要

出力キャッシュとキャッシュ プロファイル

その他の技術情報

マスター ページ