【问题标题】:Got RoleEnvironmentException in Azure when accessing RoleEnvironment.IsEmulated访问 RoleEnvironment.IsEmulated 时在 Azure 中出现 RoleEnvironmentException
【发布时间】:2012-09-20 10:44:59
【问题描述】:

在我将 ASP.NET WebRole 部署到 Azure 并查看 Azure Intellitrace 后,我注意到很多 RoleEnvironment 异常,它们发生在 RoleEnvironment.IsEmulated。

我认为 ServiceConfiguration 中缺少某些内容,因为 stacktrace 中的倒数第二个调用始终是 RoleEnvironment.GetConfigurationSettingValue。

现在我搜索了这个问题,但除了这个链接我什么也没找到:

http://bretstateham.com/azure-serviceconfiguration-cscfg-changes%E2%80%A6/

但是我的服务配置是正确的。我认为设置?IsSimulationEnvironment?应该由 Azure 创建,但在我的情况下不是因为异常。

我不能把“?IsSimulationEnvironment?”在我的配置中手动设置,因为这不符合服务配置的 xml 命名空间。

有人知道如何解决这个烦人的问题吗?

【问题讨论】:

  • 所以这是一个在 SDK 内部捕获的异常,它不会阻止您的应用程序工作?
  • 是的,没错——这个异常在 SDK 内部被捕获。但这应该是不正常的,所以我想,我的环境中的某些东西是不正确的,或者是否有人也发现了这个问题。
  • 如果您在模拟器中本地运行它,您应该能够在本地驱动器上找到具有该设置(“?IsSimulationEnvironment?”)的配置,例如:“C: \Users\\AppData\Local\dftmp\deployment().config.xml”。在该文件中有一个配置设置,例如:

标签: azure azure-role-environment


【解决方案1】:

我认为您的 RoleEnvironment 尚不可用。即你在初始化之前检查 RoleEnvironment.IsEmulated ...

试试这个,

while (!RoleEnvironment.IsAvailable)
     continue;//you can sleep sometime then continue
if (RoleEnvironment.IsEmulated)
{
  //Your code here
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2023-02-05
    • 2021-05-27
    • 2018-03-16
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多