Share via


ページ処理モデル

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

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

  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 イベント ハンドラを使用してキャッシュを拡張する

[方法] 最低限のマスタ ページを作成する

概念

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

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