从控制台应用程序访问Azure RoleEnvironment
本文关键字:Azure RoleEnvironment 访问 应用程序 控制台 | 更新日期: 2023-09-27 18:25:08
如果我创建了一个控制台应用程序,只想获得实例名称,我会尝试通过获得它
RoleEnvironment.CurrentRoleInstance.Id
但这已经失败了,外部例外:
角色发现数据不可用
内部异常:
的类型初始值设定项"Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment"引发了例外。-无法加载文件或程序集'msshrtmi,版本=2.4.0.0,区域性=中性,PublicKeyToken=31bf3856ad364e35'或它的一个依赖项。系统找不到指定的文件。
是否有其他方法以编程方式获取Azure实例名称,或者我的控制台应用程序是否需要一些特殊权限才能访问RoleEnvironment?
您正试图访问RoleEnvironment功能,这些功能由于您没有在Azure环境/AppFabrix中运行而可用。我建议您使用RoleEnvironment.IsAvailable成员来检查您是否正在运行Azure环境。
一个稍微健壮一点的方法是将实例ID封装到一个方法中,比如。。。
// Handcoded
private string ApplicationInstanceId(){
return RoleEnvironment.IsAvailable ?
RoleEnvironment.CurrentRoleInstance.Id :
"RunningLocally!";
}