在将我的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创建,但在我的情况下则不能,因为有例外。
而且我不能输入“?SimulationEnvironment?”。在我的配置中手动设置,因为它不符合serviceconfiguration的xml名称空间。
有人知道如何解决这个烦人的问题吗?
最佳答案
我认为您的RoleEnvironment尚不可用。即您正在检查RoleEnvironment.IsEmulated在其初始化之前...
试试这个,
while (!RoleEnvironment.IsAvailable)
continue;//you can sleep sometime then continue
if (RoleEnvironment.IsEmulated)
{
//Your code here
}