在一個工作項目或工作小組中,有可能經常要轉換工作的調試環境,比如開發環境,測試環境,部署環境,這樣有可能要對web.config文件進行修改或改動,比如要改數據庫的連接字符串,角色配置,安全配置環境等,一不小心,很容易會發生遺漏等錯誤.在asp.net 2.0的web.config檔中,新加入了可以引入外部文件的新特性,
使到我們可以先預先搞好幾個文件,比如將經常要改動的部分,如數據庫連接串部分等,按不同的開發環境,分別寫成若干個xml文件,然後在web.config中把它們按需要調進去.比如
我們先建立兩個目錄,一個叫test,一個叫developer,分別存放測試和開發時,用到的不同環境,比如在devloper文件中建立一個developerconnectionstring.xml,內容如下
<connectionStrings>
<add name="connstr" connectionString=
"data source=.sqlexpress;initial catalog=
northwind;integrated security=true"
providerName="System.Data.SqlClient"/>
</connectionStrings>
再建立一個developerappsetingstring.xml如下<appSettings>
<add key="autoemail" value=" [email protected] /> </appSettings>
再建立一個developermembership.xml如下
<membership defaultProvider="Northwind">
<providers>
<add name="Northwind"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="connstr"/>
</providers>
</membership>
同樣道理,可以在test目錄下,也建立相關類似的xml檔,然後,在web.config中,可以這樣呼叫了
<?xml version="1.0"?>
<configuration>
<appSettings configSource="developerdeveloperappsetingstring.xml"/>
<connectionStrings
configSource="developerdeveloperconnectionstring.xml" />
<system.web>
<membership
configSource="developerdevelopermembership.xml"/>
<compilation debug="true"/>
<authentication mode="Forms"/>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
可以看到,在web.config中,可以透過configsource屬性讀取外部檔案
jackyrong BLOG