Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core .net核心短生命周期缓解措施_.net Core_Lifecycle - Fatal编程技术网

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

.net core .net核心短生命周期缓解措施,.net-core,lifecycle,.net Core,Lifecycle,上下文:我们正在为医疗设备开发新的web应用程序,这些设备在现场(客户场所)维护10年。 在这些设备上,我们可以更新Microsoft windows操作系统补丁,甚至更新.net核心运行时也可以 问题:如果我们在2022年12月后的今年发布了一个带有.Net core 3.1 LTS的应用程序(对于.Net core 3.1的EOL),我们需要再次在现场发布和部署该应用程序,这是一件非常昂贵的事情。这里的成本是使用新的.net核心运行时集成、重新测试和部署应用程序(成本不是更新/安装.net核

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

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

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


关于如何处理.Net core的这一局限性的任何帮助,回到WebAPI的
.Net 4.7.2/.Net 4.8
,都是一种选择,但这就像回到过去,没有利用最新的技术堆栈一样。

恐怕目前没有中间立场,因为拥有更多的功能也意味着打破新.Net(core)的变化。所以我想说这更多的是一个商业决策,我不认为有一个明智的解决办法,只要你公开一个公共表面,比如web API,就可以一直更新到LTS.NET核心,除非你完全无视安全性。另一方面,NET框架是稳定的,并且将继续存在

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

也许有一天微软会制作一个长期的LTS版本的.NET,以说服更保守的用户迁移,也许它甚至可以是.NET 6,但在此之前,.NET Framework是一个不错的选择


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

感谢Zdeněk的评论