You need to enable JavaScript to run this app. 如何正确读取web.config配置中applicationSettings节点下的整数值
优惠活动
大模型
产品
解决方案
定价
更多

如何正确读取web.config配置中applicationSettings节点下的整数值

读取web.config中applicationSettings节点整数值的解决方法

applicationSettings的serializeAs枚举可选值仅包含String、Xml、Binary、Custom四类,确实没有Integer选项,所有数值类配置都是以String格式序列化存储,直接读取默认返回字符串类型,强转整数就会触发报错,只需要显式做类型转换即可,有两种常用实现方案:

方案1:使用自动生成的强类型配置(推荐)

  • 打开项目属性页,切换到「设置」选项卡,找到windowstime配置项,将类型从String修改为Int32
  • 保存配置后VS会自动更新强类型配置类的逻辑,无需手动修改web.config的serializeAs属性,直接调用即可自动完成类型转换:
int windowsTime = HHH.Properties.Settings.Default.windowstime;

方案2:手动读取配置节点并转换

如果不想修改项目配置设计器,可以手动读取配置节解析:

  • 首先在项目中添加System.Configuration程序集引用
  • 使用如下代码读取解析:
using System.Configuration;

// 获取对应配置节
ClientSettingsSection settings = ConfigurationManager.GetSection("applicationSettings/HHH.Properties.Settings") as ClientSettingsSection;
if (settings != null)
{
    // 读取配置的字符串值
    string timeStr = settings.Settings.Get("windowstime").Value.ValueXml.InnerText;
    // 安全转换为整数
    if (int.TryParse(timeStr, out int windowsTime))
    {
        // 此处直接使用转换后的整数值即可
    }
    else
    {
        // 配置值格式错误时的容错逻辑,例如设置默认值
        // windowsTime = 86400;
    }
}

注意事项

  • 手动转换时优先使用int.TryParse而非强制类型转换,避免配置值被误写为非数字内容时触发未处理异常
  • 有多个数值类配置需要读取时,可以封装通用的读取方法减少重复代码

内容的提问来源于stack exchange,提问作者Raulus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 07:06:03