2010-03-09 31 views
2

我需要運行一些代碼,將獲取一些配置值從web.config在第一次運行的asp.net mvc應用程序。這些數值不會經常變化,但這不是我主要關心的問題。在哪裏運行初始化代碼在Asp.net MVC

我能想到的一種方法是在global.asax.cs文件的Application_Start()方法中調用方法,但我希望有人有更好的主意。

回答

7

應用開始是爲了這樣的目的而創建的。如果您只是從Web.Config填充事物,那麼如果您擔心抽象,爲什麼不創建一個直接從那裏拉它們的類?它已經被ASP.Net緩存了,所以你不會因多次訪問web.config而受到懲罰。這樣你就不必擔心使用你似乎反對的Global.Asax。

如果你真的反對使用Global.Asax,你總是可以有一個方法來檢查它們是否加載到你網站上的着陸頁上,或者在母版頁中有一個方法,使用它的頁面被訪問。我仍然會自己使用Global.asax Application_Start或Session_Start。

+0

您也可以將設置包裝在屬性中,並且只在需要時加載它們:延遲加載模式。 – 2010-03-09 03:35:38

+0

我想我沒有解釋我自己,但我不反對使用Application_Start(),我只是覺得可能有更好的選擇。我想這樣做的原因是因爲我正在實現一個自定義的成員資格提供程序,進入它我覺得我更好地完成自己的功能。當成員提供程序通過基類獲取配置值,並且我相信是在http模塊中實現的時候,我想如果能夠模擬類似的行爲你似乎已經確認了我原來的計劃,所以我會遵循它 – Nosh 2010-03-09 08:22:33

0

這就是我會推薦的,你有什麼反對嗎?

如果您稍微解釋一下您正在努力完成的任務,我們可能會提供更多幫助。