是否有一种简单的方法来替换Azure云服务参考dll而无需重新发布服务?
本文关键字:服务 dll 参考 新发布 Azure 替换 一种 方法 简单 是否 | 更新日期: 2023-09-27 18:09:30
我有一个运行在云服务中的Azure Worker角色。worker是我运行代码的自定义库的包装器。当我更改我的库时,我想简单地用新的替换旧的。目前,我不得不重新发布整个云服务项目,这需要时间,似乎是浪费精力。我明白,当我有多个实例或其他问题时,这可能是必要的,但现在我想简单地将我的新dll复制到服务中,而不是发布整个项目。
这可能吗?
在阅读了Ralf所链接的文档后,我发现了这个:
如果你的应用程序的后端基础设施是稳定的,但web角色需要更频繁的更新,您可以使用Web部署来更新仅一个Web角色在您的项目中。当您不想重建时,这很方便重新部署后端工作者角色,或者如果你有多个web角色并且您只想更新其中一个web角色。
之后重申:
只有web角色可以更新:Worker角色不能更新。在另外,你不能更新web roles .cs.
中的RoleEntryPoint。
对于任何想要更新web角色的人来说,记住这一点非常重要:
直接对web . net所在的虚拟机进行更改角色正在运行。如果要回收这个虚拟机,则更改将丢失,因为您发布的原始包已丢失用于为角色重新创建虚拟机。你必须重新发表您的应用程序获取web角色的最新更改。
当您正在开发和测试Azure应用程序时,您可以使用Web部署为您的Web角色增量发布更改。
更多信息:https://msdn.microsoft.com/en-us/library/azure/ff683672.aspx
对于webrole Web部署可以增量地添加新文件。如果不希望启用web部署,则需要为角色启用远程访问,然后可以连接到实例并替换.dll文件。
根据角色的不同,你需要找到IIS文件夹(在Webrole的情况下)或访问"%ROLEROOT%'AppRoot"
(在Worker角色的情况下)。
您可能需要在web角色场景中重新启动IIS实例。对于worker角色,您需要杀死WaWorkerHost,它将自动重新启动