Szenario: Ich habe eine n-Tier-ASP.NET-Unternehmensanwendung mithilfe von Webbereitstellungsprojekten bereitgestellt. Alle Ebenen erzeugen unabhängige Assemblys, die von der ASP.NET-Anwendung verwendet werden.Wie ASP.NET-Assemblys in AppDomain am Leben erhalten?
Problem: Wenn ich die App ausführen. Zum ersten Mal nach dem Deployment benötigt es viel Zeit, um abhängige Assemblies im Speicher zu laden. Aber sobald seine Beleuchtung schnell App geladen. Falls keine Benutzer auf die App zugreifen, entlädt IIS die Assemblys aus dem Speicher. Wenn ein Benutzer in einer späteren Instanz auf die App zugreift, lädt er alle Assemblys erneut, wobei die Zeit für das Laden erneut benötigt wird dauert es zum ersten Mal.
Ich bin auf der Suche nach einer Lösung, die es mir ermöglicht, meine Assemblys in den Speicher geladen zu halten und dabei die volatile Natur von Assemblies in Richtung Speicherresiduum zu überschreiben.
Oder irgendeine andere Lösung, die meine Benutzer glücklich macht, die APP zu verwenden, die das erwähnte Problem löst.
Ich habe einen gemeinsamen Server. Ich habe in diesem Detail keinen Zugriff auf die IIS-Konfiguration. Irgendwie können wir dies durch Code oder Konfiguration auf Anwendungsebene tun? –
@s_ruchit die Kontrolle der Anwendungspool und Worker-Prozesse ist im IIS-Bereich, so nein. Die gebräuchlichste Lösung in Ihrer Situation ist, dass eine Anwendung auf einem anderen Computer (z. B. einer Always-On-Workstation) lebt, die alle 10-15 Minuten auf eine Seite Ihrer Website trifft. Ein Service, den ich nicht persönlich benutzt habe, der behauptet, das für Sie zu tun, finden Sie unter http://www.keepaliveforever.com/ –
@ Rex M: Das war fabelhaft. Ich habe nie außerhalb der Box gedacht. Es könnte so einfach sein! Danke vielmals. In der Tat könnten wir unseren eigenen HTTP-Client schreiben, um die App immer am Leben zu erhalten. –