MVCとパイプライン
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、Sitecore MVCが使用するパイプラインとプロセッサについて説明します。
MVC固有のプロセッサ
MVC固有のプロセッサ
一部の標準Sitecoreパイプラインには、Sitecore MVCに特化して使用されるプロセッサがあります。次の表に、それらが何であるかを示します。
|
Pipeline |
Processors |
|---|---|
|
初期化する |
|
|
HttpBeginRequest (英語) |
|
MVC固有のパイプライン
MVC固有のパイプライン
次の表に、MVCでのみ使用されるすべてのSitecoreパイプラインを示します。
|
Pipeline |
Description | |
|---|---|---|
|
RequestBegin(リクエストビギニング) |
これは、要求がメインHttpRequestパイプラインから渡された後のMVC要求の最初のアクションです。 PageContextが作成され、現在のスレッドに割り当てられます。 リクエストがフォーム投稿の場合、関連するフォームハンドラ(存在する場合)が実行されます。 | |
|
リクエストエンド |
これは、MVC要求の最後のアクションです。このパイプラインは現在使用されていません。 | |
|
CreateController(クリエイトコントローラー) |
このパイプラインは、MVC要求ハンドラーによって選択された現在のルートのコントローラーを作成するために、SitecoreControllerFactoryによって呼び出されます。 要求された項目 (PageContext.Item) が ( __Controller Nameフィールドで) コントローラーを指定している場合、このコントローラーはインスタンス化されて返されます。それ以外の場合は、デフォルトSitecoreControllerのインスタンスが返されます。 | |
|
アクション実行 |
このパイプラインは、MVCコントローラー アクションが実行される前に実行されます。このパイプラインは現在使用されていません。 | |
|
アクション実行 |
このパイプラインは、MVCコントローラー アクションが実行された後に実行されます。このパイプラインは現在使用されていません。 | |
|
リザルト実行 |
このパイプラインは、MVCの結果が実行される前に実行されます。このパイプラインは現在使用されていません。 | |
|
リザルト実行 |
このパイプラインは、MVCの結果が実行された後に実行されます。このパイプラインは現在使用されていません。 | |
|
例外 |
このパイプラインは、MVCランタイムが未処理の例外をキャッチした後に実行されます。このパイプラインは現在使用されていません。 このパイプラインにカスタム プロセッサをアタッチする場合、このプロセッサは、プロセッサに渡されるExceptionArgsオブジェクトのExceptionContext.ExceptionHandledプロパティを設定する必要があります。それ以外の場合、Sitecoreは標準のエラー処理を行います。 | |
|
GetPageItemの |
このパイプラインは、ルート情報を使用して要求された項目を解決します。ルートからアイテムを解決できない場合は、Context.Itemが使用されます。 | |
|
ビルドページ定義 |
このパイプラインは、ページ項目のRenderingsフィールドのXMLベースのレイアウト定義を使用して、初期PageDefinitionを構築します。 | |
|
GetPageRendering (英語) |
このパイプラインは、現在の要求の出力を作成するためのページのルート レンダリングとして使用するレンダリングを選択します。 現在、ルート レンダリングは、現在のデバイス(PageContext.Device)のみに基づいて選択されています。 | |
|
GetRenderer (英語) |
このパイプラインは、抽象的なレンダリング定義 (レンダリング) を、出力をクライアント (レンダラー) にレンダリングできるオブジェクトに変換します。 | |
|
モデルの取得 |
このパイプラインは、MVCビューをレンダリングするときに使用するモデル オブジェクトを作成します。これは通常、ASP.NET MVC 3 Razorビューです。 パイプラインがモデルを返さない場合、ビューはEmptyModelのインスタンスを受け取ります。これにより、.cshtmlファイルに @modelディレクティブが含まれているため、モデルが想定されている場合、意味のあるエラー メッセージが表示されます。 | |
|
レンダープレースホルダー |
このパイプラインは、Html.Sitecore().Placeholder拡張メソッドの一部として呼び出されます。ネストされたプレースホルダー (該当する場合) を処理します。 デフォルトでは、パイプラインは現在のPageDefinitionで指定されたプレースホルダー名に一致するすべてのレンダリングを検索し、レンダリングします。子レンダリングは、レンダリングによって明示的にレンダリングされる場合にのみ、通常はHtml.Sitecore().Inner()を呼び出します。 | |
|
レンダリング |
パイプラインは、指定されたレンダリングをレンダリングします。このパイプラインは、キャッシングを処理し、レンダリングのソース項目にアクセスするためのIRenderingContextを設定します。これにより、ネストされたレンダリングがサポートされます。 | |