c# – 我可以检测我的代码是否在Azure辅助角色中执行?
发布时间:2020-12-15 08:27:15 所属栏目:百科 来源:网络整理
导读:我有一些在 Winforms应用程序,Windows服务和现在Azure工作者角色中使用的共享程序集/项目. 如果我在Azure角色中运行,是否有任何方法可以在运行时检测到. 我已经找到了如何检测是否运行Azure模拟器: Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.
我有一些在
Winforms应用程序,Windows服务和现在Azure工作者角色中使用的共享程序集/项目.
如果我在Azure角色中运行,是否有任何方法可以在运行时检测到. 我已经找到了如何检测是否运行Azure模拟器: Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.IsEmulated 但这不符合我的要求.我也不想在共享程序集中添加对任何Azure程序集的引用. 理想情况下,我想要一些类似于我用来检测是否作为控制台与服务运行的东西: System.Environment.UserInteractive 有什么能给我这个逻辑吗? 解决方法
您可以检查是否存在RoleRoot环境变量(至少对于云服务):
> http://blog.toddysm.com/2011/03/what-environment-variables-can-you-use-in-windows-azure.html 或者,为什么不简单地在配置中添加设置(AppSettings或服务配置): <appSettings> ... <add key="AppEnvironment" value="Azure.CloudService|Azure.Website" /> </appSettings> 然后,您只需检查设置是否存在特定值,即可查看您正在运行的位置.这也意味着在您的(自动)构建或部署过程中,您需要包含此设置(例如,这可以通过XDT实现). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |