Azure:我们可以检查是否存在在尝试读取之前存在?
-
14-11-2019 - |
题
我目前使用RoleEnvironment.GetConfigurationSettingValue(propertyName)
来获取我WebleOle配置文件(CSDEF + CSCFG)中定义的设置的值。好的,听起来对。
如果设置存在但是,如果在CSDEF和CSCFG中未定义,则存在且失败,则效果很好。
我正在将现有的应用程序迁移到Azure,它在Web.config中具有许多配置设置。在我的代码中,要读取一个设置值,我喜欢测试:如果它存在于Weble配置(CSDEF + CSCFG)中,我从这里读取它,否则我将使用Web.config的ConfigurationManager读取它。 这将阻止从我的web.config迁移所有设置,并在已部署应用程序时允许自定义。
有没有办法做到这一点?
我不想在try / catch中封装GetConfigurationSettingValue
(如果我进入捕获,则从web.config读取),因为它真的是一种丑陋的方式(并且主要是性能有效!)。
谢谢!
解决方案
更新1.7 Azure SDK。 介绍了CloudConfigurationManager类。允许单个GetSetting调用首先查看CSCFG,然后返回Web.config如果未找到密钥。
http://msdn.microsoft.com/en-us/library/jj157248
给定此配置包装器您可以将TrygetSetting作为内部方法写入,无论配置选项的源代码如何。当此功能添加到Roleen环境成员中时,您只需要更改该内部实现。
不隶属于 StackOverflow