Maison >développement back-end >Tutoriel C#.Net >Explication détaillée du processus de recherche d'action dans la boîte MyMVC
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.
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]
:
Téléchargement de la version "php Programmer Toolbox" V0.12. tutoriel vidéo gratuit3.
Exemple .NET MVC d'entrée de gamme4. du processus d'exécution de l'action dans le framework NET MyMVCTutoriel sur la façon d'attribuer des valeurs aux méthodes dans le framework .NET MyMVC6. 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!