まず、フレームワーク全体の入り口となる web.config に MyMVC の HttpHandlerFactory を登録する必要があります。
ASP.NET パイプライン プロセスでは、GetHandler() メソッドが呼び出され、最終的にコードが実行される機会が得られます。
フレームワークによって実行されるコードの最初の行は次のとおりです:
// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
public sealed class ControllerActionPair{ public string Controller; public string Action;} 静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:
このコードは非常に単純で、実際にはコアは URL からコントローラーを抽出する 正規表現 であり、アクションの名前はそれに依存します。
正規表現の使用については、基本的なスキルだと思うので、ここでは省略します。
AjaxHandlerFactory の 2 番目の呼び出しを見てみましょう:
// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);
ReflectionHelper クラスは、特にリフレクション処理に使用される内部ツール クラスです。AjaxAction 検索プロセスに関連するコードは次のとおりです (コード内の コメント に注意してください)。
上記は、AjaxAction 検索に関連する 4 つのコードです:
1. ReflectionHelper の静的 コンストラクター で、すべての AjaxController をロードしました。
2. GetAjaxController メソッドは、名前に基づいてコントローラーの型の説明を返すために使用されます。
3. GetAjaxAction メソッドは、コントローラーの種類と呼び出されるアクションの名前に基づいて、アクションの説明情報を返すために使用されます。
4. GetAjaxInvokeInfo メソッドは、AjaxHandlerFactory から取得した ControllerActionPair の記述をより具体的な記述情報に変換するために使用されます。
コードでは、アクションの検索プロセスは遅延読み込みモードを採用し、アクションの説明情報のコレクションを保存するために、スレッドsafeHashtable
【関連推奨事項】
特別な推奨事項:を使用します。 PHP Programmer Toolbox」V0.1 バージョンのダウンロード2.
ASP 無料ビデオチュートリアル.NET MyMVC フレームワークを実行するためのアクションの詳細な説明プロセスの説明5. メソッドに値を割り当てる方法に関する
.NET MyMVC フレームワークのチュートリアル6. 戻り値の処理方法に関する
.NET MyMVC フレームワークのチュートリアル
以上がMyMVCボックスでアクションを見つけるプロセスの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。