首页 > 解决方案 > .net core 短生命周期缓解

问题描述

背景:我们正在为医疗设备开发新的 Web 应用程序,这些设备在现场(客户场所)维护了 10 年。在这些设备上,我们可以更新 Microsoft Windows 操作系统补丁,甚至更新 .net 核心运行时也可以。

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

我们正在使用前滚策略-latestpatch链接。这允许应用程序使用最新安装的补丁(如.Net core 3.1.8)。使用任何其他前滚策略将有破坏现场应用程序的风险。

关于如何处理.Net 核心的这种限制的任何帮助,回滚到.Net 4.7.2/.Net 4.8WebAPI 是一种选择,但它就像回去而不是利用最新的技术堆栈。

标签: .net-corelifecycle

解决方案


恐怕目前没有中间立场,因为拥有更多功能也意味着在新的 .NET (Core) 中发生重大变化。所以我想说这更多的是商业决策,我不相信只要你公开一个公共表面,比如​​ Web API,总是更新到 LTS .NET Core 有一个理智的解决方法,除非你完全无视安全性。另一方面,.NET Framework 是稳定的,并且会继续存在。

还请记住,随着时间的推移,当您使用 .NET Framework 时,寻找要雇用的开发人员、库和 Internet 资源(文章、文档)将变得越来越难,但这就是您开发的软件的命运。

也许微软有朝一日会制作一个长期的 LTS 版本的 .NET 来说服更保守的用户迁移,甚至可能是 .NET 6,但在那之前,.NET Framework 是必经之路。

也许现在能够看到 ASP.NET 和 ASP.NET Core 之间的区别可以帮助您定义您的架构,以便将来的迁移(如果有的话)是可行的(即不是完全重写)。ASP.NET Core 通常建立在更现代的软件设计原则之上,因此无论如何你都会为自己提供服务。


推荐阅读