In meiner ASP.NET-MVC-Anwendung speichern ich Informationen in statischen Klassen mit statischen VARs. Aber ASP.NET recycelt alle Daten und Threads nach und mein "App_Start" -Verfahren wird nach der Bereinigung aufgerufen.Halten Vars für lange Zeit in ASP/MVC
Ich löste das Problem mit den Backup-Aufgaben mit HangFire. Aber um die statische Klasse zu generieren, brauche ich eine lange Zeit. Die erste Anfrage nach dem Recycling muss warten, während die statischen Klassen eingerichtet werden.
Warum die Verzögerung? Ich benutze das EntityFramework und für die korrekte Handhabung brauche ich alle Datensätze aus der Datenbank mit ihren Beziehungen. Also halte ich alle Datensätze mit statischen Klassen und verwenden Sie die Datenbank als 2. Strategie.
Ich habe keine Ideen, was ich tun kann, um die Leistung zu verbessern. Meine erste Idee war es, die kompletten Daten zu serialisieren - aber wie ist die Performance für die Deserialisierung einer ArrayList mit 2K oder mehr Datensätzen? Gibt es eine Möglichkeit, das Recycling für meine statische ArrayList zu verhindern?
2000 Datensätze sollten nicht lange dauern, um aus einer Datenbank zu lesen. Können Sie auch erklären, warum Sie alle Daten immer im Speicher behalten müssen? Das klingt nach einem Anti-Pattern, aber vielleicht gibt es dahinter einen Grund. –
Ist Ihr App-Pool auf AlwaysRunning eingestellt? – ranieuwe
Ich habe viele Beziehungen (Lazy Loading brauchen sehr lange) und meine Datensätze sind hierarchisch Ich muss die Hierarchie neu erstellen. Ja, App ist auf "AlwaysRunning" eingestellt, aber die Aufräumarbeiten machen es klar. – user6537157