2016-08-31 2 views
1

Ich arbeite an einer .NET WebForms-Anwendung, und ich habe beobachtet, dass, wann immer ich nach dem Build erstellen, die erste Seite Laden dauert länger als normalerweise zu laden. Dies passiert auch, wenn ich nach dem Aufbauen warte, bevor ich eine Seite lade. Gibt es eine Möglichkeit, die Leistung von Mitarbeitern zu erhöhen, indem ich IIS/.NET so ändere, dass Dinge beim Postbuild statt beim Laden der ersten Seite initialisiert werden?.NET Build verlangsamt erste Seite laden deutlich

Antwort

2

Ja können Sie, wie this. Zitiert:

Sie Anwendungsinitialisierung Module verwenden können, die mit IIS 8.0, wie dies in-Box kommt:

<applicationInitialization 
    doAppInitAfterRestart="true" > 
    <add initializationPage="/" /> 
</applicationInitialization> 

Dies wird eine Anfrage an die Wurzel Ihrer App (initializationPage = "/") senden Jedes Mal, wenn Ihre App automatisch gestartet wird.

Sie können auch den Startmodus für Ihren Anwendungspool so konfigurieren, dass immer Lauf, die jedes Mal, IIS neu gestartet wird, bedeutet, wird er sicherstellen, dass Sie sofort Ihren Anwendungspool starten (dies, wenn von rechts auf dem Anwendungspool klicken dann Erweiterte Einstellungen).

+0

Wird diese applicationInitialization innerhalb des appSettings-Knotens hinzugefügt? –

+0

Nein, innerhalb , weil es eine IIS-Funktion ist. Überprüfen Sie dies: https://www.iis.net/configreference/system.webserver/applicationinitialization –

+0

Auch müssen Sie "Application Initialization" -Funktion unter Windows-Funktionen installieren, wenn nicht vorhanden ist. –

0

Professionelle Server haben kaum Latenz, obwohl sie einiges an Feinabstimmung erfordern. Außerdem werden Anwendungen regelmäßig in IIS wiederverwendet (auch wenn einige Arten von Ausnahmen auftreten, wenn einige Dateien geändert werden oder wenn bestimmte Schwellenwerte erreicht werden). Professionelles Web-Application-Hosting ist alles andere als einfach :) Vielleicht erhalten Sie Hilfe bei Server Fault. Eine weitere Option besteht darin, das Mischen von Vorkompilierung und JIT-Kompilierung zu vermeiden. Wenn Sie nur eine Vorkompilierung durchführen, müssen Sie bei der Bereitstellung der Anwendung keine Kompilierung durchführen, was zu schnelleren Startzeiten führt. Wenn Sie nur Quellen bereitstellen, muss die Anwendungsdomäne bei einer Änderung nicht abgebrochen werden. Dies bedeutet, dass nur die Änderung neu kompiliert werden muss, was viel schneller ist. Der ASP.NET Core ist natürlich viel schneller in beiden Szenarien - er kann die gesamte Kompilierung im Speicher ausführen, im Gegensatz zu dem Altsystem, das csc verwendet, um mehrere Assemblies zu erstellen, sie auf Festplatte zu speichern, laden sie von der Festplatte, fusionieren sie zusammen, speichern Sie wieder, nur um es erneut zu laden und zu initialisieren.

Verwandte Themen