Ich habe eine ASP.NET MVC App, die die AreaViewEngine von Phil Haack here vorgeschlagen verwendet. Es funktioniert gut, aber die App scheint irgendwie träge, also habe ich einige Profiling mit dotTrace gemacht. Ich schob die App auf unseren Dev-Server, änderte das Debug-Flag in web.config auf false (compilation debug = "false"), startete den Profiler und benutzte jmeter, um ein paar tausend Treffer zu generieren. Was ich fand, ist unten aufgeführt:asp.net mvc findpartialview Leistung
alt text http://i44.tinypic.com/av6e1c.jpg
Beachten Sie, wie VirtualPathProviderViewEngine.FindPartialView über 320 Sekunden gedauert. Ich kann nicht weiter aufschlüsseln, um zu sehen, welcher zugrunde liegende Code das Problem verursacht, aber ich vermute, dass es mit dem genannten Problem zusammenhängt here.
Der Blog besagt ausdrücklich, dass das Ausführen im Freigabemodus dazu führt, dass die Auflösung des Ansichtspfads zwischengespeichert wird, aber das scheint nicht der Fall zu sein (oder wenn es etwas anderes ist, nimmt verdammt viel Zeit in Anspruch) die FindPartialView Funktion
Irgendwelche Gedanken
Edit:.?
ich habe nie die Ursache für das Problem finden, aber ich am Ende für die Freigabe des MVC-Quellcode herunterzuladen 1.0 und es funktioniert gut. Muss eine Diskrepanz zwischen der installierbaren Binärdatei und der Sourc sein e-Code für v1.0. oder etwas, das mit meiner Installation funktioniert (obwohl sich das Problem auf mehreren Computern manifestiert hat).
Ja, ich verstehe, aber wenn Sie den Artikel, den ich verlinkt, sehen, sollte die Arbeit, die für die Suche benötigt wird, nur einmal geschehen, wenn Debug deaktiviert ist, weil das Ergebnis zwischengespeichert werden sollte. Ich versuche herauszufinden, warum der Cache scheinbar nicht funktioniert. Ist es ein Fehler? Mache ich etwas falsch? Das ist meine Frage. – Chris