ASP.NET Web Pages - 全局ページ

この章では、グローバルページの AppStart と PageStart について説明します。

Web 起動前に:_AppStart

サーバーサイドコードは通常、独立したウェブページで書かれます。例えば、ウェブページに入力フォームがある場合、データを読み取るためのサーバーサイドコードが含まれることが一般的です。

ただし、サイトのルートディレクトリに _AppStart という名前のページを作成することで、サイトの起動前に起動コード(startup code)を実行できます。そのページが存在する場合、ASP.NET はサイト内のどのページが要請されたかに関わらず、まずこのページを実行します。

通常、_AppStart はコードの起動とグローバル値の初期化(例えば、カウンターやグローバル名前)に使用されます。

注釈 1:_AppStart のファイルエクスプローラーは、ウェブページと同じでなければなりません。例えば、_AppStart.cshtml です。

注釈 2:_AppStart はアンダースコアプレフィックスを持っています。そのため、ユーザーは直接ファイルを確認できません。

各ページの前に:_PageStart

_AppStart と同様に、各フォルダ内の任意のページの前にコードを実行できます。

ウェブの各フォルダに _PageStart という名前のファイルを追加できます。

通常、_PageStart はフォルダ内のすべてのページのレイアウトファイルの設定に使用されるか、ページの実行前にユーザーのログインを確認するために使用されます。

どのように動作しますか?

以下の図はその動作原理を示しています:

全局页面 AppStart および PageStart の動作原理

リクエストが到着すると、ASP.NET は _AppStart が存在するかどうかを確認します。存在し、それがサイトへの最初のリクエストの場合、_AppStart を実行します。

その後、ASP.NET は _PageStart が存在するかどうかを確認します。存在する場合、_PageStart を実行し、要請されたページの前に実行します。

PageStart 内で RunPage() の呼び出しが参照されている場合、要請されたページのどこで実行されるかを指定できます。そうでない場合、_PageStart は要請されたページの前に実行されます。