Arm*_*est 13 web-config appsettings
我做的很多是从AppSettings读取整数.最好的方法是什么?
而不是每次都这样做:
int page_size;
if (int.TryParse( ConfigurationManager.AppSettings["PAGE_SIZE"], out page_size){
}
Run Code Online (Sandbox Code Playgroud)
我在想我Helpers班上的一个方法是这样的:
int GetSettingInt(string key) {
int i;
return int.TryParse(ConfigurationManager.AppSettings[key], out i) ? i : -1;
}
Run Code Online (Sandbox Code Playgroud)
但这只是为了节省一些按键.
理想情况下,我喜欢将它们全部放入某种我可以使用intellisense的结构中,因此我不会遇到运行时错误,但我不知道我是如何处理这个...或者如果这是可能的话.
从Web.Config的AppSettings部分获取和读取整数的最佳实践方法是什么?
还有一件事...
设置它不是一个好主意readonly吗?
readonly int pageSize = Helpers.GetSettingInt("PAGE_SIZE") 似乎不起作用.
Arm*_*est 20
我找到了问题的答案.它首先涉及额外的工作,但最终会减少错误.
它出现在Scott Allen的博客OdeToCode上,这是我的实现:
创建一个名为的静态类 Config
public static class Config {
public static int PageSize {
get { return int.Parse(ConfigurationManager.AppSettings["PAGE_SIZE"]); }
}
public static int HighlightedProductId {
get {
return int.Parse(ConfigurationManager.AppSettings["HIGHLIGHT_PID"]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这样做的好处有三方面:
如果有人更改AppSetting Key,它会中断,但我可以处理,因为这些值没有改变,性能优于a TryParse,可以在一个位置修复.
解决方案很简单......我不知道为什么我之前没有想到它.像这样调用值:
Config.PageSize
Config.HighlightedProductId
Run Code Online (Sandbox Code Playgroud)
好极了!
| 归档时间: |
|
| 查看次数: |
16672 次 |
| 最近记录: |