所謂的切割,就是把web.config裡的標籤分類後放到不同的檔案裡,檔案命名上也是以*.config來結尾,以方便管理,最後在web.config中進行引用,專業一點會把切割出來的組態檔稱:「外部組態檔」。
切割的方式非常的簡單,你可以在網站專案一開始就切割,或是網站專案完成,上線之前來進行切割,或上線之後再切割也行,反正就是當你感覺web.config的內容已經太多太大,每次找個東西都要上拉下拉,浪費不少時間時就適合切割。
一、建立外部組態檔
檔案命名上,我會依內容在web.config內的名稱來命名檔案名稱。例如:appSettings.config、connectionStrings.config,這樣一眼就可以看出來這個外部組態檔是放那個組態設定。<?xml version="1.0"?> <appSettings> <add key="CopyRight" value ="(c) Copyright 2010 KingKong Bruce Technology Inc."/> </appSettings>
第一行一定要設定XML宣告,後面將原web.config的內容複製過來。
二、在web.config引用外部組態檔
外部組態檔的引用可以透過configSource屬性值定所要引用的組態檔是哪一個外部檔案。使用外部組態檔有以下幾個優點:- 針對不同的項目設定,模組化的結構,方便管理
- 隨時改變外部組態檔,並不會重新啟動應用程式
第2點解釋一下,實際網站上線後,在以下幾種情況之下都會重新啟動網站應用程式,進而造成使用者的狀態維護失效:
- 增、刪、修Bin目錄下的組件。
- 增、刪、修App_GlobalResources或App_LocalResources目錄下的資源檔。
- 增、刪、修Global.asax。
- 增、刪、修App_Code目錄下的原始程式碼檔。
- 增、刪、修Profile設定。
- 增、刪、修App_WebReferences目錄下的Web參考。
- 增、刪、修web.config。
也就是說,只要我們動到web.config任何設定,效果是立即馬上反應,但透過外部組態檔的方式,因為不是直接動到web.config檔案,所以不會立即生效,這點差異各位要了解,要讓外部組態檔中的設定生效,也簡單,就是不去理它,設定完成後的下一位Client User會自動使用新的設定來運作,而舊Client User不受影響。
在web.config中引用外部組態檔很簡單,在要設定的標籤加上configSource屬性即可,範例如下:
<appSettings configSource="appSettings.config" /> <connectionStrings configSource="connectionStrings.config" />
這樣就完成外部組態檔的設定。
我看了很久你的文章
回覆刪除但我不管再怎麼仔細的
一個一個字看就是看不懂
所以我想說
我是否可以直接問你一些問題
就是我只是在上網購物
就出現了這個
'/imagine' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
執行階段錯誤
描述: 伺服器上發生應用程式錯誤。此應用程式的目前自訂錯誤設定因安全性考量,防止他人從遠端看見應用程式錯誤的詳細資訊。然而,可以使用本機伺服器電腦上的瀏覽器檢視。
詳細資料: 若要在遠端電腦檢視此特定錯誤訊息的詳細資訊,請於目前 Web 應用程式根目錄內的 "web.config" 組態檔中建立 標記。然後將 標記的 "mode" 屬性設為 "Off"。
注意: 可以藉由修改應用程式 組態標記的 "defaultRedirect" 屬性,使其指向自訂錯誤頁面的 URL,以便使用自訂錯誤頁面取代您目前看到的錯誤頁面。
這個東西真的讓我很頭大
我查遍了關於這個問題的解釋
但我還是不懂如何解決
所以是否可以請你
用沒那麼多專業術語的話
解釋給我聽
真的拜託拜託你
你去買東西的那個網頁"有問題",所那會出現那個"錯誤訊息",那不關你的事。
回覆刪除