【问题标题】:How should my Azure web role react to invalid settings being fed on configuration change?我的 Azure Web 角色应如何对配置更改时提供的无效设置做出反应?
【发布时间】:2014-08-19 05:00:28
【问题描述】:

我有一个 Azure Web 角色,它在服务配置(.cscfg 文件)中定义了一些设置。假设有一个表示布尔值的设置,因此在我的代码中,我将检索字符串并转换为 bool C# 类型 - 使用 bool.Parse()bool.TryParse()

假设服务以有效配置开始,然后一段时间后通过管理门户更改配置,并且这样做的人错误地输入了字符串并输入了fasle而不是false,并在没有注意到的情况下提交了新配置。

Azure 运行时不在乎 - 所有设置都是字符串,fasle 的有效字符串不亚于false。然而,试图将此字符串转换为布尔值的代码将无法这样做。

网络角色代码应该如何处理这种情况?

【问题讨论】:

    标签: c# azure azure-web-roles


    【解决方案1】:

    为每个配置元素假设一个安全的默认值,然后使用 TryParse 或您编写的自定义库中的等效方法将您的配置项公开给应用程序的其余部分。始终以“故障安全”的心态进行设计(这可能包括让应用程序向用户显示一个错误,即在没有真正的“故障安全”选项的情况下它不可用)。

    【讨论】:

    • 嗯,好吧,代码不会坏,但它应该如何表示配置无效并且必须修复?
    • 这取决于你:)。通过电子邮件将其发送给管理员,在网站上显示一个图标,我不确定 - 选择权在您手中。我唯一要避免的是报告由可能被破坏的配置驱动:)。
    • 所以没有办法将问题报告回门户并使其显示一些合理的诊断消息,是吗?
    • 您可以写入 Azure 诊断服务 (azure.microsoft.com/en-us/documentation/articles/…)。我认为他们还不能公开自定义指标——如果可以的话,你可以编写一个自定义性能计数器,如果存在这个问题,就会公开这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多