2013-07-30 10 views
7

ASP.NET MVC4には、通常のaspxページのようなページライフサイクルがありません。 MVC4でpreinit、init、prerenderをどのように使用しますか?MVC4とページライフサイクル?

MVC4にライフサイクルのタイプはありますか?

+1

なぜあなたはしたいですか?達成しようとしていることは何ですか?ます。http://www.codeproject – levelnis

+0

また http://stackoverflow.com/questions/17953756/mvc4-and-page-life-cycle –

+0

これはあなたのより良い洞察力を与える必要があり、以下のリンクを確認することができます.com/Articles/741228/MVC-Application-Lifecycle – Vishal

答えて

10

いや、(何の「ページ」オブジェクトが存在しないため)何ページのライフサイクルは、それ自体がありませんが、通常このような何かを行く要求処理パイプラインは、そこにある:

  1. 着信要求が選択されますSystem.Web.Routing.UrlRoutingModuleがリクエストURLを使用してリクエストをコントローラアクションメソッドにマッピングします。
  2. 適切なコントローラがインスタンス化される
  3. 結合モデル及び入力検証は、コントローラおよび/または行動上のアクションフィルタの
  4. OnActionExecuting -methodsを発生し得るアクションメソッド自体
  5. 呼び出される
  6. どれが起動されOnActionExecutedおよびOnResultExecutingアクションフィルタのメソッドが呼び出されます。
  7. アクションメソッド(通常は、HTMLをレンダリングするViewResult)によって返されたActionResultが実行されます。
  8. OnResultExecutedアクションフィルタのメソッドが呼び出されます。

    ルーティング: MVCコントローラのアクションメソッドへの着信要求のマッピングは、それ自体の物語である

上記リストは単なるラフスケッチです。詳細については、ASP.NET Routing on MSDNを参照してください。

アクションフィルタ: 承認、出力キャッシング、エラー処理などのアクションフィルタがあり、これらはすべて特定の時間に実行されます。今回はFiltering in ASP.NET MVC on MSDNを参照してください。

: もちろん、まだすべてtraditional ASP.NET application eventsがあります。したがって、良い古いSystem.Web.Security.FormsAuthenticationModuleSystem.Web.Caching.OutputCacheModuleのようなHTTPモジュールは依然としてリクエストの処理に参加する可能性があります。

実際に詳細を調べるには、CodePlexからASP.NET Web Stackのソースコードをダウンロードしてください。あなたの後ろのものの多くは、System.Web.Mvc.ControllerActionInvokerクラスになります。これは、恐ろしい名前にもかかわらず、それほど難しいことではありません。

Dejanの回答を参照してください。これは、多くのことを要約した良い図へのリンクです。お使いのWebブラウザがサーバー

  • にHTTPリクエストを送信し、要求が私たちの要求は、私たちが前進しているこれらのマップのルートの一つにマッチしているとき、これらのルートは通常、Global.asax.csファイルにリストされているmore info here
  • ルーティングHTTPを経由

  • +0

    優れた図と答え。 – 4thSpace

    2
    1. ルートハンドラ、ここで我々はMVC要求ハンドラを作成し、我々は今、その後、我々は、我々はサービスを呼び出すところ、コントローラとモデル
    2. を作成するために取得
    3. を実行するために使用してアクションをされているコントローラを知っています
    4. 我々はエンジンを表示するには、このモデルを渡す(例えばかみそり)
    5. その後、ビューは

    応答でレンダリングし、outputedされるMSDNドキュメントは、あなたがこの記事「Lifecycle of an ASP.NET MVC 5 Application」イッツをチェックすることができhttp://msdn.microsoft.com/en-us/library/dd381612(v=vs.98).aspx

    0

    で見つけることができます約1週間前に出版されています。ダウンロードするPDF fileもあります。

    +0

    [リンクのみの回答](http://meta.stackoverflow.com/tags/link-only-answers/info)はお勧めできませんので、SO回答は解決策の検索の終点にする必要があります(時間の経過とともに古くなる傾向がある参照の途中降機)。リンクを参考にして、ここにスタンドアロンの概要を追加することを検討してください。 – kleopatra

    関連する問題