この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

HttpApplication クラス

 

公開日: 2016年10月

ASP.NET アプリケーション内のすべてのアプリケーション オブジェクトに共通のメソッド、プロパティ、およびイベントを定義します。 このクラスはアプリケーションの基底クラスであり、ユーザーが Global.asax ファイルで定義します。

名前空間:   System.Web
アセンブリ:  System.Web (System.Web.dll 内)

System.Object
  System.Web.HttpApplication

public class HttpApplication : IComponent, IDisposable, IHttpAsyncHandler, 
	IHttpHandler

名前説明
System_CAPS_pubmethodHttpApplication()

HttpApplication クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyApplication

アプリケーションの現在の状態を取得します。

System_CAPS_pubpropertyContext

現在の要求に関する HTTP 固有の情報を取得します。

System_CAPS_protpropertyEvents

すべてのアプリケーション イベントを処理するハンドラーのデリゲート イベントの一覧を取得します。

System_CAPS_pubpropertyModules

現在のアプリケーションのモジュールのコレクションを取得します。

System_CAPS_pubpropertyRequest

現在の要求の組み込みの要求オブジェクトを取得します。

System_CAPS_pubpropertyResponse

現在の要求の組み込みの応答オブジェクトを取得します。

System_CAPS_pubpropertyServer

現在の要求の組み込みのサーバー オブジェクトを取得します。

System_CAPS_pubpropertySession

セッション データへのアクセスを提供する組み込みのセッション オブジェクトを取得します。

System_CAPS_pubpropertySite

取得または設定のサイト インターフェイス、 IComponent 実装します。

System_CAPS_pubpropertyUser

現在の要求の組み込みのユーザー オブジェクトを取得します。

名前説明
System_CAPS_pubmethodAddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler)

指定した AcquireRequestState 非同期のコレクションにイベント AcquireRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

指定した AcquireRequestState 非同期のコレクションにイベント AcquireRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler)

指定した AuthenticateRequest 非同期のコレクションにイベント AuthenticateRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した AuthenticateRequest 非同期のコレクションにイベント AuthenticateRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler)

指定した AuthorizeRequest 非同期のコレクションにイベント AuthorizeRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した AuthorizeRequest 非同期のコレクションにイベント AuthorizeRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnBeginRequestAsync(BeginEventHandler, EndEventHandler)

指定した BeginRequest 非同期のコレクションにイベント BeginRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnBeginRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した BeginRequest 非同期のコレクションにイベント BeginRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnEndRequestAsync(BeginEventHandler, EndEventHandler)

指定した EndRequest 非同期のコレクションにイベント EndRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnEndRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した EndRequest 非同期のコレクションにイベント EndRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnLogRequestAsync(BeginEventHandler, EndEventHandler)

指定した LogRequest 非同期のコレクションにイベント LogRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnLogRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した LogRequest 非同期のコレクションにイベント LogRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler)

指定した MapRequestHandler 非同期のコレクションにイベント MapRequestHandler 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object)

指定した MapRequestHandler 非同期のコレクションにイベント MapRequestHandler 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler)

指定した PostAcquireRequestState 非同期のコレクションにイベント PostAcquireRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostAcquireRequestState 非同期のコレクションにイベント PostAcquireRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler)

指定した PostAuthenticateRequest 非同期のコレクションにイベント PostAuthenticateRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostAuthorizeRequest 非同期のコレクションにイベント PostAuthorizeRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler)

指定した PostAuthorizeRequest 非同期のコレクションにイベント PostAuthorizeRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostAuthorizeRequest 非同期のコレクションに PostAuthorizeRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler)

指定した PostLogRequest 非同期のコレクションにイベント PostLogRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostLogRequest 非同期のコレクションにイベント PostLogRequest 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler)

指定した PostMapRequestHandler 非同期のコレクションにイベント PostMapRequestHandler 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostMapRequestHandler 非同期のコレクションにイベント PostMapRequestHandler 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler)

指定した PostReleaseRequestState 非同期のコレクションにイベント PostReleaseRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostReleaseRequestState 非同期のコレクションにイベント PostReleaseRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler)

指定した PostRequestHandlerExecute 非同期のコレクションにイベント PostRequestHandlerExecute 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostRequestHandlerExecute 非同期のコレクションにイベント PostRequestHandlerExecute 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler)

指定した PostResolveRequestCache 非同期のコレクションにイベント PostResolveRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostResolveRequestCache 非同期のコレクションにイベント PostResolveRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler)

指定した PostUpdateRequestCache 非同期のコレクションにイベント PostUpdateRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

指定した PostUpdateRequestCache 非同期のコレクションにイベント PostUpdateRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler)

指定した PreRequestHandlerExecute 非同期のコレクションにイベント PreRequestHandlerExecute 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object)

指定した PreRequestHandlerExecute 非同期のコレクションにイベント PreRequestHandlerExecute 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler)

指定した ReleaseRequestState 非同期のコレクションにイベント ReleaseRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object)

指定した ReleaseRequestState 非同期のコレクションにイベント ReleaseRequestState 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler)

指定した ResolveRequestCache 非同期のコレクションにイベント ハンドラー ResolveRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

指定した ResolveRequestCache 非同期のコレクションにイベント ハンドラー ResolveRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler)

指定した UpdateRequestCache 非同期のコレクションにイベント UpdateRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodAddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object)

指定した UpdateRequestCache 非同期のコレクションにイベント UpdateRequestCache 現在の要求に対するイベント ハンドラーです。

System_CAPS_pubmethodCompleteRequest()

により、すべてのイベントをバイパスし、HTTP でフィルター処理の流れをパイプラインおよびを直接実行する ASP.NET、 EndRequest イベントです。

System_CAPS_pubmethodDispose()

破棄することも、 HttpApplication インスタンス。

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。(Object から継承されます。)

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetOutputCacheProviderName(HttpContext)

Web サイト用に構成されている既定の出力キャッシュ プロバイダーの名前を取得します。

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodGetVaryByCustomString(HttpContext, String)

アプリケーション全体の実装を提供、 VaryByCustom プロパティです。

System_CAPS_pubmethodInit()

すべてのイベント ハンドラーのモジュールを追加した後は、カスタムの初期化コードを実行します。

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_pubmethodSystem_CAPS_staticRegisterModule(Type)

アプリケーション モジュールを登録します。

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。(Object から継承されます。)

名前説明
System_CAPS_pubeventAcquireRequestState

ASP.NET は、現在の要求に関連付けられている現在の状態 (たとえば、セッション状態) を取得するときに発生します。

System_CAPS_pubeventAuthenticateRequest

セキュリティ モジュールが、ユーザーの id を確立されたときに発生します。

System_CAPS_pubeventAuthorizeRequest

セキュリティ モジュールがユーザーが承認されると発生します。

System_CAPS_pubeventBeginRequest

ASP.NET が要求に応答するときに、実行の HTTP パイプライン チェーンの最初のイベントとして発生します。

System_CAPS_pubeventDisposed

アプリケーションが破棄されるときに発生します。

System_CAPS_pubeventEndRequest

ASP.NET が要求に応答するときに、実行の HTTP パイプライン チェーンの最後のイベントとして発生します。

System_CAPS_pubeventError

未処理の例外がスローされたときに発生します。

System_CAPS_pubeventLogRequest

ASP.NET では、現在の要求のログ記録を実行する前に発生します。

System_CAPS_pubeventMapRequestHandler

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 要求に応答するハンドラーが選択した場合に発生します。

System_CAPS_pubeventPostAcquireRequestState

現在の要求に関連付けられている要求の状態 (たとえば、セッション状態) が取得されたときに発生します。

System_CAPS_pubeventPostAuthenticateRequest

セキュリティ モジュールが、ユーザーの id を確立されたときに発生します。

System_CAPS_pubeventPostAuthorizeRequest

現在の要求のユーザーが承認されたときに発生します。

System_CAPS_pubeventPostLogRequest

ASP.NET でのすべてのイベント ハンドラーの処理が完了したときに発生、 LogRequest イベントです。

System_CAPS_pubeventPostMapRequestHandler

ASP.NET が現在の要求を適切なイベント ハンドラーにマップされている場合に発生します。

System_CAPS_pubeventPostReleaseRequestState

すべての要求のイベント ハンドラーと要求の状態データが格納されている ASP.NET の実行が完了したときに発生します。

System_CAPS_pubeventPostRequestHandlerExecute

(たとえば、ページまたは XML Web サービス) は、ASP.NET イベントのハンドラーが実行を終了すると発生します。

System_CAPS_pubeventPostResolveRequestCache

ASP.NET は、現在のイベント ハンドラーの実行をバイパスでき、キャッシュからの要求を処理するためにキャッシュのモジュールと発生します。

System_CAPS_pubeventPostUpdateRequestCache

ASP.NET には、モジュールのキャッシュを更新し、キャッシュからの後続の要求を処理するために使用される応答の格納が完了したときに発生します。

System_CAPS_pubeventPreRequestHandlerExecute

ASP.NET は、(ページや XML Web サービスなど) のイベント ハンドラーの実行を開始する直前に発生します。

System_CAPS_pubeventPreSendRequestContent

ASP.NET のコンテンツをクライアントに送信する直前に発生します。

System_CAPS_pubeventPreSendRequestHeaders

ASP.NET の HTTP ヘッダーをクライアントに送信する直前に発生します。

System_CAPS_pubeventReleaseRequestState

ASP.NET では、すべての要求のイベント ハンドラーの実行が完了した後に発生します。 このイベントは、現在の状態データを保存する状態モジュールをさせます。

System_CAPS_pubeventRequestCompleted

要求に関連付けられているマネージ オブジェクトが解放された場合に発生します。

System_CAPS_pubeventResolveRequestCache

キャッシング モジュール (たとえば、ページまたは XML Web サービス) のイベント ハンドラーの実行をバイパスして、キャッシュからの要求を処理する ASP.NET を使用する承認イベントを完了したときに発生します。

System_CAPS_pubeventUpdateRequestCache

キャッシング モジュールがキャッシュからの後続の要求を処理するために使用される応答を格納できるようにするためにイベント ハンドラーの実行に ASP.NET が完了したときに発生します。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object)

HTTP のイベント ハンドラーへの非同期呼び出しを開始します。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpAsyncHandler.EndProcessRequest(IAsyncResult)

非同期的な処理は、 End メソッドは、プロセスが終了するとします。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIHttpHandler.ProcessRequest(HttpContext)

HTTP Web 要求の処理するカスタム HTTP ハンドラーを実装することにより、 IHttpHandler インターフェイスです。

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIHttpHandler.IsReusable

取得、 Boolean 別の要求が使用できるかどうかを示す値、 IHttpHandler オブジェクトです。

インスタンス、 HttpApplication クラスは、ユーザーを直接ではなく、ASP.NET インフラストラクチャに作成されます。 1 つのインスタンス、 HttpApplication クラスは、その有効期間で多くの要求を処理するために使用します。 ただし、一度に 1 つの要求を処理できます。 したがって、メンバー変数は、要求ごとのデータの格納に使用できます。

アプリケーションを実装するカスタム モジュールで処理できるイベントを発生させる、 IHttpModule インターフェイスか、Global.asax で定義されているイベント ハンドラーのコード ファイルします。 実装するカスタム モジュール、 IHttpModule App_Code フォルダーまたは Bin フォルダー内の DLL にインターフェイスを配置することができます。

HttpApplication .NET Framework version 3.5 で導入されました。 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。

System_CAPS_noteメモ

IIS 7.0 を実行して、統合モードでは、Bin フォルダーまたは App_Code フォルダーにカスタム モジュールは、要求パイプライン内のすべての要求に適用されます。 Global.asax ファイル内のイベント ハンドラーのコードは、ASP.NET ハンドラーにマップされている要求にのみ適用されます。

次の順序では、アプリケーションのイベントが発生します。

  1. BeginRequest

  2. AuthenticateRequest

  3. PostAuthenticateRequest

  4. AuthorizeRequest

  5. PostAuthorizeRequest

  6. ResolveRequestCache

  7. PostResolveRequestCache

    後に、 PostResolveRequestCache イベントとする前に、 PostMapRequestHandler イベント、イベント ハンドラー (これは、要求 URL に対応するページ) が作成されます。 サーバーを実行中に IIS 7.0 と統合モードで、最小の .NET Framework version 3.0 では、 MapRequestHandler イベントが発生します。 サーバーは、IIS 7.0 を実行中、クラシック モードと以前のバージョンの IIS では、このイベントを処理することはできません。

  8. PostMapRequestHandler

  9. AcquireRequestState

  10. PostAcquireRequestState

  11. PreRequestHandlerExecute

    イベント ハンドラーが実行されます。

  12. PostRequestHandlerExecute

  13. ReleaseRequestState

  14. PostReleaseRequestState

    後に、 PostReleaseRequestState イベントは、既存の応答フィルターが、出力をフィルター処理します。

  15. UpdateRequestCache

  16. PostUpdateRequestCache

  17. LogRequest

    このイベントと IIS 7.0 の Integrated モードでサポートされる最小の .NET Framework 3.0

  18. PostLogRequest

    このイベントは、サポートされている IIS 7.0 の Integrated モードと、少なくとも .NET Framework 3.0

  19. EndRequest

次の 2 つの例は、使用する方法をデモンストレーション、 HttpApplication クラスとそのイベントです。 最初の例では、カスタム HTTP モジュールを作成し、イベントを接続する方法を示します。 2 番目の例では、Web.config ファイルを変更する方法を示します。

次の例では、カスタム HTTP モジュールを作成し、接続する方法、 AcquireRequestState HTTP モジュールのイベントです。 HTTP モジュールは、Web アプリケーションのできるクライアントの要求をフィルター処理するためのリソースへの各要求をインターセプトします。 サブスクライブする任意の HTTP モジュール、 HttpApplication イベントを実装する必要があります、 IHttpModule インターフェイスです。

using System;
using System.Web;

namespace Samples.AspNet.CS
{
    public class CustomHTTPModule : IHttpModule
    {
        public CustomHTTPModule()
        {
            // Class constructor.
        }

        // Classes that inherit IHttpModule 
        // must implement the Init and Dispose methods.
        public void Init(HttpApplication app)
        {

            app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
			app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
		}

        public void Dispose()
        {
            // Add code to clean up the
            // instance variables of a module.
        }

        // Define a custom AcquireRequestState event handler.
        public void app_AcquireRequestState(object o, EventArgs ea)
        {
            HttpApplication httpApp = (HttpApplication)o;
            HttpContext ctx = HttpContext.Current;
            ctx.Response.Write(" Executing AcquireRequestState ");
        }

        // Define a custom PostAcquireRequestState event handler.
		public void app_PostAcquireRequestState(object o, EventArgs ea)
		{
			HttpApplication httpApp = (HttpApplication)o;
			HttpContext ctx = HttpContext.Current;
			ctx.Response.Write(" Executing PostAcquireRequestState ");
		}

	}
}

カスタム HTTP モジュール内のイベントが発生することが、前に、HTTP モジュールを ASP.NET に通知する Web.config ファイルで構成設定を変更する必要があります。 次の例では、適切な構成の設定、 httpModules Web.config ファイルのセクションです。 次の設定は、IIS 7.0 クラシック モードと IIS の以前のバージョンに適用されます。

<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>

次の設定は、IIS 7.0 の Integrated モードに適用されます。

<configuration>
  <system.webServer>
    <modules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
        name="CustomHttpModule" />
      </modules>
  </system.webServer>
</configuration>

.NET Framework
1.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: