2012-10-05

[ASP.net][C#] .Net 4.0 中 Web.config 的設定跟讀取

 

每次寫到都要 Google一次,因為太浪費時間了..

所以乾脆用Blog Log 一份..

首先先在Web.Conig 在

<configuration></configuration>

中加入


<appSettings></appSettings>

並且在其中加入你想要的Key 使得]Web.Config 如下


<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<appSettings>
<!--正式網址-->
<add key="APP_ID" value="APPID" />
<add key="Secret" value="SECRET" />
<add key="APP_Name" value="APPNAME"/>
<add key="RealPath" value="REALPATH" />
</appSettings>
</configuration>


之後在CSharp中讀取


NameValueCollection appSettings =ConfigurationManager.AppSettings;

Response.Write(appSettings["APP_ID"]);

當然在實作上面有一些常用的小技巧…


譬如..


<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<customErrors mode="Off"/>
</system.web>
<appSettings>
<!--正式網址-->
<add key="APP_ID" value="APPID" />
<add key="Secret" value="SECRET" />
<add key="APP_Name" value="APPNAME"/>
<add key="RealPath" value="REALPATH" />

<!--測試網址--><!--
<add key="APP_ID" value="APPID" />
<add key="Secret" value="SECRET" />
<add key="APP_Name" value="APPNAME"/>
<add key="RealPath" value="REALPATH" />-->


</appSettings>
</configuration>

這樣就可以透過 Web.Config去切換是否是在正式/測環境下面執行


只要透過不同Web.Config設定就可以一樣的Code進行雙邊部署看結果..


而且通常我的習慣,我會設定一個Static Class在Golbal run起來時候將Web.Config的值先讀入,這樣也可以避免


一直對Web.Config讀取…