1、MVCはどのようにコントローラをインスタンス化するには?

私たちは、MVCのリクエストが来て、その後、ルーティングされた試合は、その後、最終的にアクションメソッドを呼び出します、コントローラやアクションを見つけることを知っているが、我々は、コントローラは、一般的なカテゴリであると思いますが、アクションは最初のコントロールをインスタンス化しなければならないアクションを呼び出すために、通常のインスタンスメソッドでありますデバイスは、MVCは、どのようにそれのコントローラをインスタンス化するには?

1、MVC要求が最初にUrlRoutingHandlerに来るのprocessRequest

 2、及びその後のprocessRequestにMVCHandlerに移ります

3、MVCHandler場合ProcessRequestInit、そのコントローラのこの例では

図1に示すように、文字列requiredString = this.RequestContext.RouteData.GetRequiredString(「コントローラ」)、一致する結果が文字列をrequiredstring与えるために、設定された経路RouteData後に生成、requiredStringは、完全なタイプ名

2、ControllerBuilder.GetControllerFactory(); DefaultControllerFactoryデフォルト制御プラントを取得し、その後、反射を使用して、方法DefaultControllerFactory CreateControllerコントローラインスタンスを作成します

おすすめ

転載: www.cnblogs.com/menglin2010/p/11425705.html