gpt4 book ai didi

web-config - 一遍又一遍地从AppSettings中读取整数

转载 作者:行者123 更新时间:2023-12-03 23:33:08 24 4
gpt4 key购买 nike

我做的很多事情都是从AppSettings读取整数。最好的方法是什么?

而不是每次都这样做:

int page_size; 
if (int.TryParse( ConfigurationManager.AppSettings["PAGE_SIZE"], out page_size){

}


我在我的 Helpers类中考虑这样的方法:

int GetSettingInt(string key) { 
int i;
return int.TryParse(ConfigurationManager.AppSettings[key], out i) ? i : -1;
}


但这只是为了节省一些击键。

理想情况下,我希望将它们全部放入可以使用智能感知的某种结构中,这样我就不会遇到运行时错误,但是我不知道该如何处理……或如果可能的话。

从Web.Config的AppSettings部分获取和读取整数的最佳实践方法是什么?

还有一件事...

将此设置为 readonly是不是一个好主意?

readonly int pageSize = Helpers.GetSettingInt("PAGE_SIZE")似乎无效。

最佳答案

我已经找到问题的答案。首先,它涉及额外的工作,但最终,它将减少错误。

它位于Scott Allen's blog 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"]);
}
}
}


这样做的好处是三方面的:


智能感知
一个断点(DRY)
由于我只编写Config String ONCE,因此我进行了常规的int.Parse。


如果有人更改了AppSetting Key,它将中断,但我可以处理,因为这些值没有更改,并且性能优于 TryParse,并且可以固定在一个位置。

解决方案是如此简单……我不知道为什么以前没有想到它。像这样调用值:

Config.PageSize

Config.HighlightedProductId


好极了!

关于web-config - 一遍又一遍地从AppSettings中读取整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com