Heim Backend-Entwicklung C#.Net-Tutorial Detaillierte Erläuterung des Prozesses der Aktionsausführung im .NET MyMVC-Framework

Detaillierte Erläuterung des Prozesses der Aktionsausführung im .NET MyMVC-Framework

May 17, 2017 am 11:29 AM

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);
    }
Nach dem Login kopieren

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;
    }
}
Nach dem Login kopieren

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);
Nach dem Login kopieren

[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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

DJI Osmo Action 5 Pro: Veröffentlichungsdatum diskutiert, da Einzelhändler Einführungspreise bekannt gibt, die unter denen der GoPro Hero 13 Black liegen könnten DJI Osmo Action 5 Pro: Veröffentlichungsdatum diskutiert, da Einzelhändler Einführungspreise bekannt gibt, die unter denen der GoPro Hero 13 Black liegen könnten Sep 04, 2024 am 06:51 AM

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

Die neue DJI Osmo-Actionkamera wurde vor der voraussichtlichen Markteinführung im Sommer 2024 gesichtet und kann mit den jüngsten GoPro- und Insta360-Versionen mithalten Die neue DJI Osmo-Actionkamera wurde vor der voraussichtlichen Markteinführung im Sommer 2024 gesichtet und kann mit den jüngsten GoPro- und Insta360-Versionen mithalten Jul 01, 2024 am 09:49 AM

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 Go 3S: Neue tragbare 4K-Actionkamera mit einem Gewicht von nur 39 g und Apple Find My-Unterstützung auf den Markt gebracht Insta360 Go 3S: Neue tragbare 4K-Actionkamera mit einem Gewicht von nur 39 g und Apple Find My-Unterstützung auf den Markt gebracht Jun 14, 2024 pm 06:05 PM

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

Detaillierte Erläuterung des asynchronen Aktionsbetriebs der Vuex-Statusverwaltung Detaillierte Erläuterung des asynchronen Aktionsbetriebs der Vuex-Statusverwaltung Aug 10, 2022 pm 03:29 PM

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 bringt neben der neugierigen GoPro Hero die neue Actionkamera Hero 13 Black mit neuen Objektiv-Mods auf den Markt GoPro bringt neben der neugierigen GoPro Hero die neue Actionkamera Hero 13 Black mit neuen Objektiv-Mods auf den Markt Sep 05, 2024 am 06:45 AM

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

So implementieren Sie die Elasticsearch-Java-Client-Aktion So implementieren Sie die Elasticsearch-Java-Client-Aktion May 22, 2023 am 08:43 AM

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.

GoPro Hero: Neue Actionkamera im Taschenformat und angebliches Erscheinungsdatum geleakt GoPro Hero: Neue Actionkamera im Taschenformat und angebliches Erscheinungsdatum geleakt Aug 16, 2024 am 09:43 AM

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

Deal | Amazfit GTR 3 Pro Limited Edition Smartwatch mit 12 Tagen Akkulaufzeit, GPS und 1.000 Nits AMOLED jetzt für nur 125 $ erhältlich Deal | Amazfit GTR 3 Pro Limited Edition Smartwatch mit 12 Tagen Akkulaufzeit, GPS und 1.000 Nits AMOLED jetzt für nur 125 $ erhältlich Aug 15, 2024 am 11:14 AM

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

See all articles