HttpApplication クラスとは? わかりやすく解説

HttpApplication クラス

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

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

Public Class HttpApplication
    Implements IHttpAsyncHandler, IHttpHandler, IComponent, IDisposable
Dim instance As HttpApplication
public class HttpApplication : IHttpAsyncHandler,
 IHttpHandler, IComponent, 
    IDisposable
public ref class HttpApplication : IHttpAsyncHandler,
 IHttpHandler, IComponent, 
    IDisposable
public class HttpApplication implements IHttpAsyncHandler,
 IHttpHandler, 
    IComponent, IDisposable
public class HttpApplication implements IHttpAsyncHandler,
 IHttpHandler, 
    IComponent, IDisposable
解説解説

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

アプリケーションは、Global.asax ファイル定義されているモジュールまたはユーザー コード処理されるイベント次の順序実行します

  1. BeginRequest

  2. AuthenticateRequest

  3. PostAuthenticateRequest

  4. AuthorizeRequest

  5. PostAuthorizeRequest

  6. ResolveRequestCache

  7. PostResolveRequestCache

    PostResolveRequestCache イベントの後および PostMapRequestHandler イベント前にイベント ハンドラ (要求 URL対応するページ) が作成されます。

  8. PostMapRequestHandler

  9. AcquireRequestState

  10. PostAcquireRequestState

  11. PreRequestHandlerExecute

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

  12. PostRequestHandlerExecute

  13. ReleaseRequestState

  14. PostReleaseRequestState

    PostReleaseRequestState イベントの後、応答フィルタ存在する場合出力フィルタ処理ます。

  15. UpdateRequestCache

  16. PostUpdateRequestCache

  17. EndRequest

使用例使用例

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

カスタム HTTP モジュール作成しAcquireRequestState イベントをその HTTP モジュール接続する方法次のコード例示しますHTTP モジュールWeb アプリケーション リソースへの各要求受け取ることによって、クライアント要求フィルタ処理が可能となりますHttpApplication イベントサブスクライブするすべての HTTP モジュールは、IHttpModule インターフェイス実装する必要があります

Imports System
Imports System.Web

Namespace Samples.AspNet.VB
    Public Class CustomHTTPModule
        Implements IHttpModule

        Public Sub New()

            ' Class constructor.

        End Sub


        ' Classes that inherit IHttpModule 
        ' must implement the Init and Dispose methods.
        Public Sub Init(ByVal
 app As HttpApplication) Implements IHttpModule.Init

            AddHandler app.AcquireRequestState, AddressOf
 app_AcquireRequestState
            AddHandler app.PostAcquireRequestState, AddressOf
 app_PostAcquireRequestState

        End Sub


        Public Sub Dispose() Implements
 IHttpModule.Dispose

            ' Add code to clean up the
            ' instance variables of a module.

        End Sub


        ' Define a custom AcquireRequestState event handler.
        Public Sub app_AcquireRequestState(ByVal
 o As Object, ByVal ea
 As EventArgs)

            Dim httpApp As HttpApplication
 = CType(o, HttpApplication)
            Dim ctx As HttpContext = HttpContext.Current
            ctx.Response.Write(" Executing AcquireRequestState
 ")

        End Sub

        ' Define a custom PostAcquireRequestState event handler.
        Public Sub app_PostAcquireRequestState(ByVal
 o As Object, ByVal ea
 As EventArgs)

            Dim httpApp As HttpApplication
 = CType(o, HttpApplication)
            Dim ctx As HttpContext = HttpContext.Current
            ctx.Response.Write(" Executing PostAcquireRequestState
 ")

        End Sub

    End Class

End Namespace
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 ファイル構成設定変更する必要があります。Web.config ファイルhttpModules セクションにおける適切な構成設定次のコード例示します

<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
           name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>
<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.VB.CustomHTTPModule"
           name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.HttpApplication
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpApplication メンバ
System.Web 名前空間
IHttpHandlerFactory
IHttpHandler
IHttpModule
その他の技術情報
httpHandlers 要素 (ASP.NET 設定スキーマ)
httpModules 要素 (ASP.NET 設定スキーマ)



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HttpApplication クラス」の関連用語

HttpApplication クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HttpApplication クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS