3

重複の可能性:
HTTPModule イベントの実行順序?

Page オブジェクトが HttpModule Pipeline で最初に作成される場所を調査しています。

 HttpModule 

     ===========
    #1  BeginRequest
    #2  AuthenticateRequest
    #3  AuthorizeRequest
    #4  RespolveRequestCache
    #5  AcquireRequestState 
    #6  PreRequestHandnlerExecute

    Handler
    ========
    #7  ProcessRequest

   ... later stages
   ================

そしてここに私の実験があります:

特定のメソッドを実行するために各関数を登録しました:

  void check(object sender, EventArgs e)
        {
          Page objPage = (sender as HttpApplication).Context.Handler as Page;
          if (objPage == null) return;
          ...
        }

「安全なキャスト」が成功した最初のAcquireRequestState段階は.

質問 :

それは私にとってはうまくいきまし たが、ページクラスを取得するのに安全な場所ですか?

また、どこにも文書化されていないのはなぜですか? ページクラスが最初にアクセスできるステージをMsdnで検索しましたが、何も見つかりませんでした。

4

1 に答える 1

2

PostResolveRequestCacheAcquireRequestStateの間に作成されます

頭の上から、 PostAcquireRequestStateの方が安全にページにアクセスできると思います。

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

于 2012-09-29T08:45:53.833 に答える