ASP.Net Web.config 中引用外部config文件


1. 前提准備:

Web.config file:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings configSource="Config\app.config"></appSettings>
</configuration>

Ps. configSource="Config\app.config",此處一定要使用反斜杠“\”;

app.config file:

<?xml version="1.0"?>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="CHINA" value="Asia"/>
</appSettings>

調用方法並輸出結果:

public string GetAppSettingValue()
{
  string value = ConfigurationManager.AppSettings["CHINA"].ToString();
  return value;
}

2. 測試configSource:

由於以上代碼用的測試例子為configSource,所以在補充相應的代碼后可以直接運行;

結論:可以正確的輸出結果:"Asia".在不重新啟動IIS的情況下修改app.config中key="CHINA"的value為“BEIJING”,然后刷新頁面,更新后的值"BEIJING"被正確輸出。

3. 測試file:

將Web.config中的configSource修改為file,同時修改app.config中key="CHINA"的value為“Asia”, 在補充相應的代碼后運行;

結論:可以正確的輸出結果:"Asia". 在不重新啟動IIS的情況下重新修改app.config中key="CHINA"的value為“BEIJING”,然后刷新頁面,更新后的值"BEIJING"沒有被輸出,輸出依然是"Asia"。

4. 總結:Web.config中引用app.config有兩種方式:file或者ConfigSource,區別是file只能用於<appSettings>節點。通過測試還發現,file屬性中指定文件名稱時正斜杠"/"和反斜杠“\”都可以被正確解析,而configSource只能解析反斜杠“\”。修改Web.config內容后需要重啟IIS,而修改app.config后則沒有這個要求。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM