首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过执行RDP手动更改云上的工作者角色文件?

如何通过执行RDP手动更改云上的工作者角色文件?
EN

Stack Overflow用户
提问于 2013-08-26 14:45:31
回答 2查看 2K关注 0票数 8

将整个云服务项目推到云上是非常耗时的,因此,如果它有一些微小的变化,并且我希望它们立即反映出来,那么我就将RDP放到web角色中,进行这些更改并重新启动IIS。这样的事情也能为工人的角色做吗?我可以RDP和替换dll文件,但是我不知道如何重新启动worker角色,因为它不在IIS上运行。我不知道工人的角色是什么?我知道这不是一个好的实践,但由于还在开发阶段,这将极大地加快我的测试过程。

有什么简单的方法来更新云上的工作者角色而不是完全推送呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-26 16:08:21

布伦特是百分之百正确的,我已经投了他的答案。您应该小心,不要通过RDP对生产服务进行任何更改。尽管如此,您确实提到这只是用于开发阶段的测试目的,并且能够更新单个DLL文件和测试而不必重新部署整个云服务具有很大的价值。在Azure VM上进行故障排除时,我总是这样做。

检查http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx以了解VM上进程的体系结构。特别要注意的是,WaHostBootstrapper是工作角色和web角色的父进程。要替换web角色或工作角色中的DLL,最好的方法是:

  1. 终止WaHostBootstrapper。您可以通过任务管理器来完成这一任务。
  2. 替换DLL。请注意,您在执行此操作时需要快速,因为Azure将在您杀死WaHostBootstrapper*之后立即自动重新启动所有内容。
  3. 等待WaHostBootstrapper自动重新启动,然后自动重新启动WaWorkerHost/WaIISHost。

*如果您需要更长的时间来进行更改,那么可以将调试器(如WinDBG )附加到WindowsAzureGuestAgent中,并将其中断到进程中。这将防止Azure自动重新启动主机引导程序进程。在进行更改之后,您可以分离调试器并让WindowsAzureGuestAgent继续运行。注意,如果WindowsAzureGuestAgent停留在停止状态超过10分钟,主机代理将检测到VM没有响应,并重新启动VM。

*编辑:更详细的说明可在http://blogs.msdn.com/b/kwill/archive/2013/09/05/how-to-modify-a-running-azure-service.aspx获得。

票数 12
EN

Stack Overflow用户

发布于 2013-08-26 15:14:45

简单地说,您没有这样做,这样做与Windows云服务的“无状态”性质直接冲突。如果某个角色的实例需要移动,它将始终恢复到其最初部署的状态,从而取消您所做的任何更改。角色实例可以在任何时候被移动。因此,任何试图进行RDP并进行更改的尝试都会导致您的巨大痛苦。

如果您确实需要这种类型的动态部署,您可以创建一个启动脚本,该脚本从外部存储(如)中提取内容文件,并在启动之前将它们拉到角色实例中。

工作人员本身只是一个长时间运行的控制台程序,初始进程由来宾VM中的进程调用角色实例的"OnStart“方法启动。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18446864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档