只是一个快速解决问题并且想知道正确的方法。
在Appsettings的appConfig中,我想验证我输入的值。例如,如果我有
<appSettings>
<add key="UseEncryption" value="false"/>
<add key="MaxThreshold" value="10"/>
<add key="ProcessDate" value="01/12/2012"/>
</appSettings>
程序正常编译和执行。但是,支持团队可以更改这些值并重新运行应用程序。鉴于对Gui进行编码以更改所有这些值并在...的路上验证它们是否有另一种方法来验证它们。
例如,我想检查MaxThrehold是否为Int,Processdate是一个有效的日期等
我正在编写一个将在应用程序启动时运行的函数,该函数将检查每个设置并停止应用程序,如果它们不正确的话。
这是最好的方法吗?为每个应用程序设置都有一个验证器类型函数。
我保留了一个名为CurrentEnvironment的类,在这里我拥有App Config中所需的所有设置的get / sets ..所以对于每个Key我也会有一个validitor函数来检查值。
问候
答案 0 :(得分:4)
我正在编写一个将在应用程序启动时运行的函数,该函数将检查每个设置并停止应用程序,如果它们不正确的话。
这是一个很好的方法,但你确实需要确保这个函数在执行开始时运行。
另一种方法是创建自定义配置部分(继承自ConfigurationSection
并添加自定义属性) - 确保这些属性属于您要测试的类型。当配置文件反序列化时,如果无法正确解析类型,则应用程序将无法启动。
答案 1 :(得分:1)
对于每个键,在对象上使用TryParse
DateTime.TryParse(appsetting [键名])