2009-09-02 5 views
5

Je travaille sur un projet MVC et la performance était bonne.Global.asax Application_start déclenché à chaque action

Lors de l'application_start, la base de données est indexée pour la recherche lucene.net (et à chaque changement sur un objet, l'index est étendu). Mais application_start s'exécute à chaque action que j'appelle sur la page. Pourquoi ne lance-t-il pas application_start une fois seulement? Je signalerai tout code quand je sais où chercher;)

Je ne suis pas sûr si le web.config peut provoquer ce problème ...

Solution: Lucene.net a écrit son index à la poubelle dossier, après avoir changé le chemin de l'application ne fait plus fondre mon visage :)

Répondre

8

Il pourrait être parce que Lucene construit son index, il modifie certains des fichiers (web.config, global.asax, dossier bin, etc. .) qui provoquerait le déchargement de AppDomain.

+0

Dans web.config, il n'y a rien à propos de lucene, mais dans le dossier bin il y a un dossier nommé _indexes ... peut-être cela vient-il de lucene? Le gars qui a mis en place lucene est parti (programmeur externe) et pas disponible dans les deux prochaines semaines. – griti

+1

Si le dossier bin est modifié, l'application redémarrera. Vous devez reconfigurer Lucene pour stocker son index ailleurs. –

+0

Oui, découvert où Lucene est configuré. Merci! – griti

1

Il est très probable que le fichier web.config soit modifié d'une manière ou d'une autre.
Pour le suivre, essayez de définir l'attribut Lecture seule du fichier web.config et vérifiez s'il y a des erreurs. Vraiment l'endroit principal à regarder est le web.config, peut-être aussi dans les sobfolders.

+0

après le démarrage de l'application, j'ai mis le web.config et le dossier bin + sous-dossiers à readonly et encore application_start est appelé :( – griti

Questions connexes