我有一个 .NET Windows 服务,想要转换为 Azure Web 作业。如果我可以将其托管为 Azure Web 作业或转换建议,请告诉我。
最佳答案
遗憾的是,您无法直接在 Azure PaaS 解决方案中托管 Windows 服务,除非它是使用 TopShelf 构建的。 。您的选择是:
- 使用 Azure 虚拟机托管 Windows 服务
- 转换 Windows 服务,以便可以将其托管在 Azure PaaS 中
对于转换,最简单的计划通常如下:
- 创建新的 .NET 控制台应用程序
- 将所有逻辑从 Windows 服务移至 .NET 控制台应用
- 使控制台应用程序正常工作,以便一旦运行它,它就会执行逻辑并退出。因此没有 while 循环可以使控制台应用程序永远运行。
- 将控制台应用程序发布为 Web 作业。您可以直接从 Visual Studio 发布或使用 Azure 门户上传。
- 安排网络作业在需要时执行。
如果您的服务使用 TopShelf,您可以跳过转换部分。
如果您的 Windows 服务正在执行其他操作,而不仅仅是执行简单的逻辑,例如它托管 WCF 或 Web Api,那么最简单的选择通常是将其转换为 Web 应用程序。
关于.net - 将 .NET Windows 服务转换为 Azure Web 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315362/