


Detaillierte Erläuterung des Prozesses der Aktionsausführung im .NET MyMVC-Framework
In der GetHandler-Methode von AjaxHandlerFactory wird schließlich ein ActionHandler erstellt, bei dem es sich um einen HttpHandler handelt, der im 15. Schritt der Pipeline aufgerufen wird (Zitat der Sequenz im Blog [Schreiben Sie Ihr eigenes Service-Framework mit Asp.net ] ).
Hinweis: Die GetHandler-Methode von AjaxHandlerFactory wird in Schritt 10 aufgerufen und Schritt 12 bereitet die Sitzung vor (Nicht-In-Prozess-Modus). Daher muss die Verwendung von Session vor Schritt 12 entschieden werden.
Alle Aktionscodes werden im ActionHandler ausgeführt:
internal class ActionHandler : IHttpHandler{ internal InvokeInfo InvokeInfo; public void ProcessRequest(HttpContext context) { // 调用核心的工具类,执行Action ActionExecutor.ExecuteAction(context, this.InvokeInfo); }
Der Implementierungsprozess von ExecuteAction ist wie folgt:
internal static void ExecuteAction(HttpContext context, InvokeInfo vkInfo) { if( context == null ) throw new ArgumentNullException("context"); if( vkInfo == null ) throw new ArgumentNullException("vkInfo"); // 调用方法 object result = ExecuteActionInternal(context, vkInfo); // 设置OutputCache OutputCacheAttribute outputCache = vkInfo.GetOutputCacheSetting(); if( outputCache != null ) outputCache.SetResponseCache(context); // 处理方法的返回结果 IActionResult executeResult = result as IActionResult; if( executeResult != null ) { executeResult.Ouput(context); } else { if( result != null ) { // 普通类型结果 context.Response.ContentType = "text/plain"; context.Response.Write(result.ToString()); } } }internal static object ExecuteActionInternal(HttpContext context, InvokeInfo info) { // 准备要传给调用方法的参数 object[] parameters = GetActionCallParameters(context, info.Action); // 调用方法 if( info.Action.HasReturn ) return info.Action.MethodInfo.Invoke(info.Instance, parameters); else { info.Action.MethodInfo.Invoke(info.Instance, parameters); return null; } }
Ich habe den Aufruf von SetResponseCache( vorher nicht erwähnt ) Timing, dieses Timing ist genau hier: nach der Ausführung der Aktion.
Nachdem der OutputCache festgelegt wurde, ist es an der Zeit, den Rückgabewert zu verarbeiten.
Im vorherigen Code gibt es einen weiteren wichtigen Aufruf:
// 准备要传给调用方法的参数object[] parameters = GetActionCallParameters(context, info.Action);
[Verwandte Empfehlungen]
1 🎜>:Version „php Programmer Toolbox“ V0.1 herunterladen2. Kostenloses ASP-Video-Tutorial
3 >Einstiegsbeispiel für .NET MVC
4. Detaillierte Erläuterung des Prozesses zum Suchen von Aktionen in der MyMVC-Box
5. .NET MyMVC-Framework-Tutorial zum Umgang mit Rückgabewerten
6. .NET MyMVC-Framework-Tutorial zum Zuweisen von Werten auf Methoden
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Prozesses der Aktionsausführung im .NET MyMVC-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





DJI hat noch keine Pläne zur Einführung einer neuen Action-Kamera bestätigt. Stattdessen scheint es, dass GoPro in diesem Jahr seinem Rivalen einen Schritt voraus sein wird, nachdem angekündigt wurde, dass es am 4. September zwei neue Action-Kameras vorstellen wird. Zum Vergleich: Diese werden voraussichtlich a

Fast ein Jahr ist vergangen, seit DJI den Osmo Action 4 (aktuell 299 $ bei Amazon) herausgebracht hat. Seitdem konzentriert sich das Unternehmen auf seine anderen Geschäftsbereiche, darunter neue RS-Kamerakardanringe. Darüber hinaus wurden verschiedene Drohnen wie die Avata eingeführt

Insta360 hat eine neue Action-Kamera herausgebracht, die zweite in diesem Jahr nach der Insta360

In einigen Fällen möchten wir einige asynchrone Vorgänge in Vuex ausführen, z. B. Netzwerkanforderungen, die asynchron sein müssen. Im Folgenden werde ich Ihnen den asynchronen Vorgang der Vuex-Statusverwaltung vorstellen Sei hilfreich für Freunde in Not!

GoPro hat jetzt sein jährliches Action-Kamera-Update vorgestellt. Anders als in den letzten Jahren hat sich das Unternehmen entschieden, zwei Modelle herauszubringen. Es ist jedoch nicht zu 360-Grad-Kameras zurückgekehrt, obwohl letztes Jahr um diese Zeit angekündigt wurde, dass es die Max wi ersetzen würde

Die meisten Vorgänge in Elasticsearch erfolgen über entsprechende Aktionen, die im Aktionspaket enthalten sind. Seine Struktur ist in der folgenden Abbildung dargestellt: Die obige Abbildung ist ein Teil-Screenshot des Aktionspakets, das den Aktionen jeder Funktion entspricht. Auch die Pakete jeder Aktion sind dem Index sehr ähnlich. Die Implementierung dieser Aktionen ist ebenfalls sehr ähnlich. Es handelt sich bei allen um grundlegende Selbstaktionen. Die folgende Abbildung zeigt die Vererbungsbeziehung der Indexaktion: Da diese Aktionen die entsprechenden Funktionen nicht implementieren, handelt es sich lediglich um einen Proxy ganz einfach. Ihre Hauptfunktion besteht darin, Methoden zum Erstellen neuer Antworten und Anfragen sowie der entsprechenden Aktionen bereitzustellen.

Details zu einer völlig neuen GoPro-Actionkamera sowie entsprechende Informationen zur Hero 13 Black sind online durchgesickert. Bitte beachten Sie, dass die unten enthaltenen Informationen angeblich aus einem US-Angebot von Amazon stammen, das inzwischen entfernt wurde

Die Amazfit GTR 3 Pro Limited Edition ist derzeit bei Amazon für nur 124,99 $ erhältlich, 40 % weniger als der Listenpreis von 209,99 $. Im Vergleich zur Standardversion mit Aluminiumgehäuse verwendet die Amazfit GTR 3 Pro Limited Edition handpolierte Beize
