c# – 创建针对Linux Docker容器的长期运行的.NET Core服务

似乎有两种类型的实质性.NET Core项目:ASP.NET Core Web App和Console App.我想在Docker环境(Linux容器)中构建类似Windows服务的东西,其中进程启动,无限期运行,并且仅在被告知时停止.两种项目类型似乎都不合适.我错过了什么吗?

最佳答案
两种类型的应用程序都有意义,这取决于您计划如何与此服务进行通信.

如果您想在某些TCP端口上通过标准HTTP与之通信,那么使用ASP.Net核心Web应用程序将使事情变得更容易.

如果你想通过像RabbitMQ,Kafka,原始TCP套接字或其他东西更具“异国情调”的东西进行通信,那么控制台应用程序就是你想要的.正如Gareth Luckett的回答指出的那样,诀窍是确保你的主要功能阻止.只要容器应该运行,运行的Docker容器就会阻止主线程阻塞.

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...