Maison  >  Article  >  développement back-end  >  Explication détaillée du processus de recherche d'action dans la boîte MyMVC

Explication détaillée du processus de recherche d'action dans la boîte MyMVC

Y2J
Y2Joriginal
2017-05-17 11:30:311821parcourir

Tout d'abord, nous devons enregistrer HttpHandlerFactory de MyMVC dans web.config, qui est l'entrée de l'ensemble du framework.
Dans le processus du pipeline ASP.NET, la méthode GetHandler() sera appelée, et enfin mon code aura une chance de s'exécuter !
La première ligne de code exécutée par le framework est :

// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
public sealed class ControllerActionPair{    public string Controller;    public string Action;}
静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:

Le code est très simple. Le noyau est en fait l'expression régulière, qui extrait Controller et. Action à partir de l'URL. Le nom en dépend.
En ce qui concerne l'utilisation des expressions régulières, je pense qu'il s'agit d'une compétence de base et que nous la passerons ici.

Regardons le deuxième appel d'AjaxHandlerFactory :

// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);

La classe ReflectionHelper est une classe d'outils interne spécifiquement utilisée pour le traitement de la réflexion. Le code pertinent pour le processus de recherche AjaxAction est le suivant ( notez le code annotation) dans Tous les AjaxControllers sont chargés.
2. La méthode GetAjaxController est utilisée pour renvoyer la description du type d'un Controller en fonction de son nom.

3. La méthode GetAjaxAction est utilisée pour renvoyer les informations de description de l'action en fonction du type de contrôleur et du nom de l'action à appeler.

4. La méthode GetAjaxInvokeInfo est utilisée pour convertir la description ControllerActionPair obtenue à partir d'AjaxHandlerFactory en informations de description plus spécifiques.
Dans le code, le processus de recherche d'action adopte un mode de chargement différé. Pour enregistrer la collection d'informations de description d'action, j'utilise threadsafe
Hashtable

[Recommandations associées]

1. Recommandation spéciale

 :

Téléchargement de la version "php Programmer Toolbox" V0.1

2. tutoriel vidéo gratuit3.

Exemple .NET MVC d'entrée de gamme

4. du processus d'exécution de l'action dans le framework NET MyMVC

5

Tutoriel sur la façon d'attribuer des valeurs aux méthodes dans le framework .NET MyMVC

6. Tutoriel sur le traitement des valeurs de retour dans le framework .NET MyMVC

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn