访问RoleEnvironment.IsEmulated时在Azure中获得RoleEnvironment异常

访问RoleEnvironment.IsEmulated时在Azure中获得RoleEnvironment异常,azure,azure-role-environment,Azure,Azure Role Environment,在我将我的ASP.NET WebRole部署到Azure并查看Azure Intellitrace后,我注意到许多RoleEnvironment异常,它们发生在RoleEnvironment.i模拟中 我认为ServiceConfiguration中缺少一些内容,因为stacktrace中的下一个最后一个调用始终是RoleEnvironment.GetConfigurationSettingValue 现在我搜索了这个问题,但除了这个链接外,我什么也没找到: 但我的服务配置是正确的。我认为环境

在我将我的ASP.NET WebRole部署到Azure并查看Azure Intellitrace后,我注意到许多RoleEnvironment异常,它们发生在RoleEnvironment.i模拟中

我认为ServiceConfiguration中缺少一些内容,因为stacktrace中的下一个最后一个调用始终是RoleEnvironment.GetConfigurationSettingValue

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

但我的服务配置是正确的。我认为环境是模拟环境?应该由Azure创建,但在我的情况下,由于存在异常,不能创建

而且我无法在配置中手动放置“?IsSimulationEnvironment?”设置,因为这与serviceconfiguration的xml命名空间不兼容


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

我想你的角色环境还不适合你。ie您正在检查RoleEnvironment.i在其初始化之前已模拟

试试这个

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

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