在 Azure 网站上,他们写了关于您的应用程序在窗口服务器环境中运行的信息,并且您应该能够运行在窗口服务器上通常可以运行的任何内容。
那么可以在 Azure 上安装 Windows 服务吗?
答案1
还有另一个更新:您绝对可以在 Azure 计算实例上安装 Windows 服务,无论是 Web 角色、工作角色还是 VM 角色。有一些启动任务可让您在 Web / 工作角色中执行提升权限的代码。我不会说这很简单,但您可以做到。例如,请查看这篇博文。
现在:正如@Adron所述,有更好的方法来管理 Windows Azure 中的代码,它在其OnStart()
、、和覆盖/事件中具有类似的事件处理。您可以将现有服务代码迁移到这些方法。但是……如果您真的需要坚持使用直接端口,保持代码原样,那么是的,您可以这样做。Run()
Stopping()
OnStop()
答案2
不,无法在 Azure 上安装传统的 Windows 服务。他们正在开发一种可用于执行此操作的 VM 类产品,但据我所知该产品尚未推出。
使用 Azure,您可以部署任何可以 a) xcopy 和 b) 从命令行运行的东西。遗憾的是,这意味着大多数带有安装程序、注册表项、服务等的传统 Windows 软件都无法开箱即用。
您可能想要做的是将正在运行的任何有效负载作为服务,并将其包装在 Azure 运行器中。没有什么可以阻止代码运行并绑定到端口,只是您必须使用 Azure 机制而不是 Windows 服务来启动它。
答案3
只是为了更新这个问题。
现在确实可以使用 VM 角色在 Windows Azure 中运行 Windows 服务。
但是,在 Windows Azure 中运行服务的更理想方式是将其设置为服务角色,而不是 Windows 服务。请记住,您处理的是云,而不是操作系统,至少理想情况下是这样。如果您需要直接处理操作系统,那么您可能需要重新考虑所使用的架构和工具。
答案4
还可以在 Windows Azure 中的 Web 角色上安装和运行 Windows 服务。您可以在这个帖子。