我之前曾开发过一些 Windows 服务,这些服务在遇到严重错误时会自动停止。
将这些迁移到 Windows Azure,在 WorkerRole 中,我想做同样的事情:能够从内部停止 WorkerRole 执行。
我刚刚遇到一个小问题...
当Run方法结束时, WorkerRole OnStop 方法被触发, 然后就重新开始了... 据我所知,这是 WorkerRole 的正常行为。
然后我的问题是:如何告诉它“作业已完成,请不要重新启动”
最佳答案
您无法停止特定的角色实例。例如,您可以将实例从 3 个缩减到 1 个,但您无法选择要终止哪些实例。
如果您正在谈论需要启动、处理某些内容然后关闭(例如每天一次)的单实例辅助角色,请考虑将此角色移至其自己的部署中。然后,使用管理 API 部署它,让它运行一个小时(或者您需要的任意时间),然后挂起+删除它。
关于azure - Windows Azure - 需要从内部停止 WorkerRole,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5753868/