首页 > 解决方案 > 将 .Net Framework windows 服务迁移到 Azure PaaS

问题描述

没有成功找到一个像样的资源,我终于在这里问了。我有一个遗留的 .Net Frmework Windows 服务(现在已迁移到 .Net Framework 4.7.2),我想最终迁移到 Azure PaaS。环顾四周后,我发现了 3 种方法可以做到这一点,并且不计算将其隐藏在 IIS 中托管的 Web 应用程序后面的选项,因为我认为这不是正确的解决方案。我认为正确的方法是:

1) 使用 Worker 角色:这是由传统的云服务平台提供的,并且由于其部署缓慢且分期成本是不可能的。

2) 使用 Web 作业:它可能需要更改代码,但我无法在 Windows 服务的上下文中找到像样的文章或教程。

3)使用容器:这似乎是最合适的解决方案,但我希望一些专家指导我完成它,因为我对 docker 和 azure 完全陌生。由于该服务位于 .Net Framework 中,因此目标操作系统只能是 Windows Server Core(https://docs.microsoft.com/en-us/dotnet/standard/modernize-with-azure-and-containers/modernize-existing -apps-to-cloud-optimized/deploy-existing-net-apps-as-windows-containers)但是当我拉出图像时,我收到消息“无法在此平台上使用”。我正在使用 Windows 10。这是否意味着我需要在 Windows 服务器系列操作系统上工作才能能够提取图像,这有效地意味着能够在 Azure 容器中部署 .Net Framework 应用程序,我需要工作Windows 服务器操作系统。

欢迎链接到一些好的阅读或视频,因为我无法找到可能是因为我没有正确搜索它。我想 Windows 服务迁移到 Azure 是一个常见的场景,但我可能错了。

标签: azuredockerwindows-servicesazure-webjobsazure-worker-roles

解决方案


请按照此处提到的步骤, https://github.com/dotnet-architecture/eShopModernizing/wiki/02.-How-to-containerize-the-.NET-Framework-web-apps-with-Windows-Containers-and -码头工人

同样对于您的 Windows 服务,您还有其他几个选项

1) 将您的应用程序转换为 Azure 函数并在计时器触发器上运行它。但您的应用必须在 5 分钟内完成执行。

2) 将您的应用程序部署为计时器触发的 Web 作业。


推荐阅读