.net核心短生命周期缓解措施

问题描述

上下文:我们正在为医疗设备开发新的Web应用程序,这些设备在现场(客户所在地)维护了10年。 在这些设备上,我们可以为Microsoft Windows OS补丁程序进行更新,甚至还可以更新.net core运行时。

问题:如果我们今年2021年12月之后发布了.Net core 3.1 LTS的应用程序({{1}为EOL),我们需要再次发布并在现场部署该应用程序这是一件非常昂贵的事情。这里的成本是使用新的.net核心运行时集成,重新测试和部署应用程序(成本不是更新/安装.Net核心运行时)。

我们正在使用前滚策略-最新补丁link。这允许应用程序使用最新安装的补丁程序(例如.Net core 3.1)。使用任何其他前滚策略将有可能破坏现场应用程序。

任何有关如何解决.Net核心限制的帮助,对于WebAPI而言,回退到.Net core 3.1.8一个选择,但它就像回过头来并没有利用最新的技术堆栈。

解决方法

恐怕目前还没有中间立场,因为拥有更多功能也意味着打破新.NET(核心)的更改。因此,我想这更多是业务决定,只要您公开Web API之类的公共外观,除非您完全不考虑安全性,否则我认为没有总能更新到LTS .NET Core的明智的解决方法。另一方面,.NET Framework是稳定的,并且会持续存在。

还请记住,随着您继续使用.NET Framework,随着时间的推移,找到要雇用的开发人员,图书馆和Internet资源(文章,文档)会越来越难,但这就是您开发的那种软件的命运。

也许微软有一天会制作一个.NET的长期LTS版本,以说服更多保守的用户进行迁移,也许它甚至可以是.NET 6,但是直到那时,.NET Framework才是可行之路。

也许现在可以看到ASP.NET和ASP.NET Core之间的区别可以帮助您定义体系结构,以便将来进行迁移(如果有的话)是可行的(即,不能完全重写)。 ASP.NET Core通常以软件设计的更现代原理为基础,因此无论如何您都将自己做一项服务。