還有一個類似的問題發佈在Application Variable Vs Web.Config Variable,但是我的略有不同,我不相信那裏的答案。ASP.NET應用變量vs從ConfigurationSettings.AppSettings讀取
所以,如果我在Global.asax中定義的應用程序變量是這樣的:
public class Global : System.Web.HttpApplication
{
public static readonly string X = ConfigurationSettings.AppSettings["XsltExternal"];
// rest of the code here
}
不應該這樣讀操作
string Y = Global.X;
快於
string Y = ConfigurationSettings.AppSettings["XsltExternal"];
由於避免散列表查找(假定這是ASP.Net如何存儲web.config設置)?我的應用程序使用大量的配置設置並在整個頁面循環中檢查它,所以我希望我能夠利用每一個可以保存的ms。
想到有人嗎?
PS:我最初的簡單測試頁ANTS分析器測試顯示讀取時間從0.017毫秒下降到.002毫秒。
有點不錯,只是想和別人確認一下,在我走之前我還沒有考慮過什麼,並將所有這些無數的代碼行轉換成了..lol :-) – 2011-04-29 21:38:40
它也會容易得多維護一個結構化的配置類來處理e您最常用的設置。你真的只應該從結構化配置類中直接調用AppSettings。 – 2011-04-29 22:05:08
@Frazell,所以你建議的是從Global創建這個新類的靜態對象,而不是像NS.Global.VARNAME那樣分別訪問這些變量。是的,是有道理的。我面臨的唯一問題是,在多項目解決方案中,我無法訪問Global類,並且無法將其他支持項目的主項目添加爲參考,因爲它會創建循環依賴項問題。努力吧! – 2011-04-30 02:31:13