如果我将所有程序集与应用程序分离,从Windows Update分离,如果组件有安全补丁,我将如何更新它们?
当您使用 *** 作系统附带的框架时,您只更新一次,但如果您有一堆网站,我需要单独更新它们吗?我假设它都需要从我的原始源开始,在那里进行更新然后重新部署所有内容,因为如果我只是通过命令行更新部署,而我不对我的源做同样的事情,我’将再次重新部署不安全的位.
解决方法 无论如何,您总是必须这样做,因为系统更新只会影响运行时,而不会影响您的应用程序引用来自nuget或其他来源的包..NET核心有两种风格
1.便携式应用
便携式应用程序就像您在.NET Framework中使用的那样.您安装了运行时/ SDK,并且您的应用程序仅引用这些核心集,但不会将它们与您的应用程序一起部署.
在那里更新运行时就足够了.优点是较小的部署包.缺点是您需要在部署之前在系统上安装正确版本的运行时.
2.独立应用程序
另一方面的自包含应用程序不需要已安装的运行时,并将使用该应用程序部署必要的系统库.
这里的优点是,您可以部署应用程序并并行运行多个应用程序,这些应用程序使用它们编译的库,而不会产生框架或运行时更新的副作用.
缺点是,更大的规模和缺乏修复和安全更新的中央更新机制.
但最终,问题仍然存在.当您的某个非.NET-Framework依赖项升级或接收安全修复程序时,这两种风格都不能解决问题.
因此,两种版本仍然需要使用更新的库集重建/重新部署应用程序,并且使用旧的.NET Framework需要它.
要升级旧版应用程序或版本,您应该使用源代码管理系统.使用里程碑/版本的标签,因此您可以随时检查标签升级它的依赖关系并提交部署它.
.NET Core也可以与docker一起使用,因此当您使用像Rancher这样的Docker编排工具时,部署应该很容易.
最重要的是,特定的库(如加密)不是通过NuGet / .NET Core Runtime发布的,只是它们的包装器.例如,Cryptography对windows上的CryptoAPI和Linux / MacOS上的OpenSSH具有本机依赖性.当在OpenSSH中修复错误时,系统更新机制(即apt-get等)将覆盖该错误.
总结以上是内存溢出为你收集整理的asp.net-core – 如何将安全更新应用于.NET Core项目?全部内容,希望文章能够帮你解决asp.net-core – 如何将安全更新应用于.NET Core项目?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)