2009-09-02 71 views
5

我正在開發一個MVC項目,性能很好。Global.asax Application_start對每一個動作開火

在application_start上,數據庫獲取了lucene.net搜索的索引(以及對索引進行擴展的對象的每次更改)。但是,application_start會在我在頁面上調用的每個操作上運行。

爲什麼它不僅一次觸發application_start?我將張貼任何代碼時,我知道在哪裏看;)

我不知道,如果在web.config可能會導致這種現象......

解決方案: Lucene.net寫其索引到bin文件夾,更改路徑後,應用程序不再融化我的臉:)

回答

8

這可能是因爲當Lucene建立其索引時,它修改了一些文件(web.config,global.asax,bin文件夾等.. )會導致AppDomain卸載。

+0

在web.config中沒有關於lucene的東西,但在bin文件夾中有一個名爲_indexes的文件夾...也許這是來自lucene?設置lucene的人已經不在(外部程序員),並在接下來的兩週內不可用。 – griti 2009-09-02 08:45:22

+1

如果bin文件夾被修改,應用程序將重新啓動。您需要重新配置Lucene以在其他地方存儲其索引。 – 2009-09-02 09:16:49

+0

是的,找到了哪裏lucene配置。謝謝! – griti 2009-09-02 10:14:04

1

很可能web.config以某種方式被修改。
要追蹤它,嘗試設置web.config的只讀屬性並查看是否有任何錯誤。

真的要看的主要地方是web.config,也可能在sobfolders中。

+0

應用程序啓動後我設置web.config和bin文件夾+子文件夾只讀,並仍然application_start被稱爲:( – griti 2009-09-02 09:06:10

相關問題