.net - 将 .NET Windows 服务转换为 Azure Web 作业

标签 .net azure windows-services azure-webjobs

我有一个 .NET Windows 服务,想要转换为 Azure Web 作业。如果我可以将其托管为 Azure Web 作业或转换建议,请告诉我。

最佳答案

遗憾的是,您无法直接在 Azure PaaS 解决方案中托管 Windows 服务,除非它是使用 TopShelf 构建的。 。您的选择是:

  1. 使用 Azure 虚拟机托管 Windows 服务
  2. 转换 Windows 服务,以便可以将其托管在 Azure PaaS 中

对于转换,最简单的计划通常如下:

  1. 创建新的 .NET 控制台应用程序
  2. 将所有逻辑从 Windows 服务移至 .NET 控制台应用
  3. 使控制台应用程序正常工作,以便一旦运行它,它就会执行逻辑并退出。因此没有 while 循环可以使控制台应用程序永远运行。
  4. 将控制台应用程序发布为 Web 作业。您可以直接从 Visual Studio 发布或使用 Azure 门户上传。
  5. 安排网络作业在需要时执行。

如果您的服务使用 TopShelf,您可以跳过转换部分。

如果您的 Windows 服务正在执行其他操作,而不仅仅是执行简单的逻辑,例如它托管 WCF 或 Web Api,那么最简单的选择通常是将其转换为 Web 应用程序。

关于.net - 将 .NET Windows 服务转换为 Azure Web 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47315362/

相关文章:

.net - Windbg 需要不同版本的 mscordacwks.dll

azure - 此定义需要位置属性

c# - 部署后 Appsetting.json 无法与 Azure 函数应用一起使用

c# - Windows服务定时执行

.net - Windows 服务已启动但不执行任何操作 - .NET

c# - 如何将 A<T> 类型的泛型对象转换为 A<T'>?

c# - Visual Studio 附加到进程并在中断时查看代码?

c# - 定义字典之间的区别

Azure Devops 从 Docker 内的 Azure Artifacts 安装 Python 包

asp.net-core - Worker Service 在 System32 文件夹而不是本地文件夹中查找 appsettings.json