ASP.Net MVC 2中的多個環境



Answers

web.config轉換

我可能是錯誤的,但我似乎記得,如果只是在Visual Studio中使用“啟動調試(F5)”按鈕啟動應用程序,它們將不會被應用,使得該功能在許多用途中顯得不切實際。

Question

我正在學習ASP.Net MVC 2,來自一個PHP和一些Rails的背景,而我唯一看不到的東西就是你管理像連接字符串這樣的配置設置,或者外部服務的端點。

使用PHP框架我以前的公司使用了一個標準的格式和約定的配置文件。 我的公司能夠利用這個功能,以便根據環境變量(在Apache配置中設置)來加載不同的配置文件。 這使得基於環境的任何配置設置變得非常簡單和自動。 據我所知,Rails內置了這個功能的一些版本。

我熟悉.Net世界的app.configweb.config文件,但有沒有辦法根據環境進行這些更改,最好是自動進行,並且具有不同級別的粒度? 整個配置系統似乎非常貧血相比,我習慣了。

我也許可以一起做些什麼來完成這個任務,但是我想看看人們在實踐中採取了什麼樣的方法,或者是否有一些人們正在使用的標準工具。




我個人使用machine.config來管理特定於環境的設置。 該文件包含機器特定的設置。

如果您沒有針對每個環境的專用計算機,而是在IIS中使用不同的網站,則可以在每個網站的根目錄中包含一個根web.config文件,其中包含特定於環境的設置。

基本上,在這個全局配置文件中,我存儲了包含我的SQL Server,Web服務服務器,...的不同環境的名稱的鍵/值對,然後在我的應用程序中使用這些鍵來構建最終連接字符串,http網址,...

一旦這些全局配置設置就位,您可以在所有環境中使用web.config部署完全相同的應用程序文件。




Links