2012-01-02 60 views
0

我想有我的主web.config在它通常是和另一個合併在根中。可能在APP_DATA中有一個web.config與根目錄中的原始文件合併?

這是可能的,我想在APP_DATA/CONFIG中放置另一個web.config將有一些額外的東西,我可以更新,而無需觸摸主web.config

我似乎記得,這是可能的,但我不確定..可以asp.net動態合併這些,並使用兩者?

任何人都可以提供更多信息?

感謝

回答

1

不知道你的意思由合併 web.config文件中,但你可以在你的ASP.NET應用程序的子文件夾可能覆蓋從根配置文件中某些部分的web.config文件(只有一些部分可以被覆蓋)。因此,例如,你可以有以下部分在你的根web.config文件:

<appSettings> 
    <add key="foo" value="bar" /> 
</appSettings> 

,然後有一個〜/ somefolder/web.config中它覆蓋了本節:

<appSettings> 
    <add key="foo" value="baz" /> 
</appSettings> 

現在如果在~/somefolder/foo.aspx裏面你嘗試訪問ConfigurationManager.AppSettings["foo"]你會得到baz

+0

感謝達林,是這個我意識到,但放置在APP_DATA/config web.config工程還?它不是我想重寫一個額外的文件夾。我在這裏看到一個示例網站,它的確在APP_DATA/config下有一個web.config,它似乎可以工作,我也想做同樣的事情,但我不完全明白這一點......它就像asp.net是從路線採取web.config,但也採取或合併什麼在APP_DATA /配置/ web.config – Martin 2012-01-02 16:42:21

+0

@Martin,你爲什麼需要在App_Data文件夾中的web.config文件?它的目的是什麼? App_Data文件夾應該只包含數據庫/數據文件,而不是代碼。它只是代碼才能理解web.config文件。所以你的要求看起來很奇怪。 – 2012-01-02 16:43:36

0

您可以使用<appSettings>塊的file=參數,如果只有那些內容需要覆蓋。

在web.config中

<configuration> 
    <appSettings file="relative_path_to_other.config"> 
     <add key="foo" value="bar" /> 
    </appSettings> 
</configuration> 

,並在其他配置文件,你只要定義<appSettings>部分(整個配置文件)

<appSettings> 
    <add key="foo" value="baz" /> 
</appSettings> 
相關問題