我有一个部署到 Azure 的 Web 角色,作为启动过程的一部分,我安排了一个 .exe 定期运行以执行一些后台工作(有点像 this或this)。这非常有效,意味着我不需要单独的 Worker 角色,这对于我的后台任务需要做的事情来说是相对矫枉过正的。
我一直以本地管理员组中的用户身份运行计划任务,但想稍微加强一下,但如果我将用户从本地管理员组中取出并运行 .exe,则RoleEnvironment.IsAvailable
返回 false。这有什么好的理由吗?用户需要什么权限才能获得正确的值RoleEnvironment.IsAvailable
?
有人在这里以非管理员身份运行 Windows 服务时遇到了类似的问题,但没有解决方案。
(也在MSDN 论坛上问过)
更新:我最近注意到RoleEnvironment类文档说
RoleEnvironment 类可用于 Azure 角色之外的 Azure VM 中的独立组件。[...] 这些进程必须以提升的权限运行才能访问 RoleEnvironment 类。
这可能是我的计划任务需要使用管理员登录来运行的原因。