2009-09-02 10 views
5

Ich arbeite an einem MVC-Projekt und die Leistung war in Ordnung.Global.asax Application_start ausgelöst bei jeder Aktion

Auf application_start wird die Datenbank für die Suche in lucene.net indiziert (und bei jeder Änderung an einem Objekt wird der Index erweitert). Application_start wird jedoch bei jeder Aktion ausgeführt, die ich auf der Seite aufruft.

Warum feuert application_start nicht nur einmal? Ich werde keinen Code schreiben, wenn ich weiß, wo sie suchen;)

Ich bin mir nicht sicher, ob die web.config dieses Verhalten verursachen kann ...

Lösung: Lucene.net schrieb seinen Index in den Papierkorb Ordner, nach dem Ändern des Pfades schmilzt die Anwendung mein Gesicht nicht mehr :)

Antwort

8

Es könnte sein, weil wenn Lucene seinen Index erstellt, ändert es einige der Dateien (web.config, global.asax, bin Ordner, etc .. .), die AppDomain entladen würde.

+0

In web.config gibt es nichts über Lucene, aber im Ordner bin gibt es einen Ordner namens _indexes ... vielleicht ist das von Lucene? Der Typ, der Lucene aufgebaut hat, ist weg (externer Programmierer) und in den nächsten zwei Wochen nicht verfügbar. – griti

+1

Wenn der Ordner bin geändert wird, wird die Anwendung neu gestartet. Sie müssen Lucene neu konfigurieren, um den Index an anderer Stelle zu speichern. –

+0

yep, herausgefunden, wo Lucene konfiguriert ist. Vielen Dank! – griti

1

Am wahrscheinlichsten wird die web.config irgendwie geändert.
Um es zu verfolgen, versuchen Sie, schreibgeschützt Attribut der web.config zu setzen und sehen, ob es irgendwelche Fehler gibt.

Wirklich der Hauptort, um zu betrachten, ist die web.config, möglicherweise in sobfolders auch.

+0

nach dem Start der Anwendung habe ich die web.config und den bin Ordner + Unterordner auf nur lesen und immer noch application_start heißt :( – griti

Verwandte Themen