Zuerst müssen wir die HttpHandlerFactory von MyMVC in web.config registrieren, was den Zugang zum gesamten Framework darstellt.
Im ASP.NET-Pipeline-Prozess wird die GetHandler()-Methode aufgerufen und endlich kann mein Code ausgeführt werden!
Die erste vom Framework ausgeführte Codezeile lautet:
// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
public sealed class ControllerActionPair{ public string Controller; public string Action;} 静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:
Der Code ist eigentlich der reguläre Ausdruck, der Controller und extrahiert Aktion von der URL. Der Name hängt alles davon ab.
Was die Verwendung regulärer Ausdrücke betrifft, halte ich dies für eine grundlegende Fähigkeit und werde hier übersprungen.
Schauen wir uns den zweiten Aufruf von AjaxHandlerFactory an:
// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);
Die ReflectionHelper-Klasse ist eine interne Toolklasse, die speziell für die Reflexionsverarbeitung verwendet wird. Der relevante Code für den AjaxAction-Suchprozess lautet wie folgt ( Beachten Sie den Code Annotation) in Alle AjaxController werden geladen.
2. Die GetAjaxController-Methode wird verwendet, um die Typbeschreibung eines Controllers basierend auf seinem Namen zurückzugeben.
4. Die GetAjaxInvokeInfo-Methode wird verwendet, um die von der AjaxHandlerFactory erhaltene ControllerActionPair-Beschreibung in spezifischere Beschreibungsinformationen umzuwandeln.
Im Code verwendet der Aktionssuchprozess den verzögerten Lademodus. Um die Sammlung von Aktionsbeschreibungsinformationen zu speichern, verwende ich Threadsafe
Hashtable
[Verwandte Empfehlungen]
:
Version „php Programmer Toolbox“ V0.1 herunterladen2 kostenloses Video-Tutorial3. .NET MVC-Beispiel
4 des Prozesses der Aktionsausführung im NET MyMVC-Framework
5 Tutorial zum Zuweisen von Werten zu Methoden im .NET MyMVC-Framework
6. Tutorial zur Verarbeitung von Rückgabewerten im .NET MyMVC-Framework
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Prozesses zum Suchen von Aktionen im MyMVC-Feld. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!