我有一个 Windows 服务应用程序,想要开始将其移植到 .NET Core。该应用程序长时间运行,使用套接字、自托管 MVC、定时器等。我计划将该应用程序转换为 .NET Core,以便能够在 Windows/Linux 等系统上运行。问题是,实现服务代码的正确方式是什么?例如,我需要一个 Web 主机来提供 MVC/API,还需要实际处理套接字、事件等的服务实现。我发现目前的做法是从 BackgroundService 类继承服务代码类,https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.hosting.backgroundservice?view=aspnetcore-3.0。所以问题是,BackgroundService 是否是我应该考虑的东西,还是有其他更合适的方法?谢谢。