Bre*_*ogt 9 .net asp.net asp.net-mvc .net-core asp.net-core
自从我听说ASP.NET Core
和.NET Core
我一直想知道你为什么会想开发一个ASP.NET Core web application
运行.NET Core
了.NET
,如果你正在运行Windows服务器一样Windows Server 2012
?我可以理解,如果您正在为其他东西开发跨平台,Ubuntu
但如果您正在运行Windows服务器,那么您为什么要开发这.NET Core
条路线呢?
有什么好处(如果有的话)?我觉得我在这里错过了一些东西?它是进行ASP.NET
Web开发和部署的理想方式吗?您何时想要使用完整.NET
的ASP.NET
Web开发.NET Core
框架而不是框架?
不是每个人都在为跨平台开发吗?我一直在为Windows服务器开发,并且从不需要跨平台做任何事情.我不认为我会用.NET开发任何跨平台的东西 - 我可能会使用除.NET之外的其他东西(如果我去过这条路线).
我希望有人可以帮助澄清我的困惑?
Leg*_*nds 10
ASP.NET可以在.NET Core 或完整的.NET Framework上运行..NET Framework 仅在Windows上运行,并使用.NET框架的完整足迹.
如果您不需要以下内容,您仍然可以使用完整的.NET框架:
.NET Core与主机/操作系统无关
您可以在不同的操作系统和主机上运行您的应用程序:
- Linux,Windows,MAC
- IIS,控制台应用,..
并可用于设备,云和嵌入式/物联网场景.
模块化
.NET Core是一个模块化的运行时和库实现,包括.NET Framework的一个子集.
意思是,您可以通过nuget只安装所需的包.
可移植性:
您可以在应用程序中打包和部署CoreCLR,从而消除应用程序对已安装的.NET版本的依赖性(例如Windows上的.NET Framework).您可以使用不同版本的CoreCLR并排托管多个应用程序,并单独升级它们,而不是强制同时升级所有应用程序.
减少足迹
通过考虑CoreFX库并允许单个应用程序仅引入它们所需的CoreFX部分(所谓的"付费播放"模型),使用ASP.NET构建的基于服务器的应用程序可以最小化它们的依赖性.
应用程序的模型
.NET Core不支持所有.NET Framework应用程序模型,部分原因是它们中的许多都是基于Windows技术构建的,例如WPF(构建在DirectX之上)..NET Core和.NET Framework都支持控制台和ASP.NET Core应用程序模型.
蜜蜂
.NET Core包含许多与.NET Framework相同但更少的API,并且具有不同的因子(程序集名称不同;类型形状在关键情况下不同).目前,这些差异通常需要将端口源更改为.NET Core..NET Core实现了.NET标准库API,随着时间的推移,它将逐渐包含更多的.NET Framework BCL API.
子系统
.NET Core实现了.NET Framework中子系统的子集,其目标是实现更简单的编程模型.例如,不支持代码访问安全性(CAS),同时支持反射.
补丁/升级:
反过来,这降低了框架的修补程序和更新将影响这些应用程序的频率,因为只有对应用程序利用的各个CoreFX进行的更改才会影响应用程序.
部署:
应用程序的较小部署大小是一个附带好处,如果在给定服务器上并行部署许多应用程序,则会产生更大的差异.可以包含在您的应用程序中,也可以安装在并行用户或机器范围内.
开源:
.NET Core平台是开源的,使用MIT和Apache 2许可证.文档根据CC-BY许可..NET Core是一个.NET Foundation项目..NET Core是开源的,而.NET Framework的只读子集是开源的.
如果您在 Windows 上运行,则在完整框架上运行 ASP.NET Core 效果非常好,事实上,这就是我选择用于移植旧 Web 窗体应用程序的方法。如果你不需要跨平台支持,我认为完整框架上的 ASP.NET Core 是一个不错的选择。
.NET Core 框架的功能并不像完整框架那么齐全,并且将遗留应用程序移植到其中可能要困难得多。例如,它当前不支持图像处理。
但是,除了跨平台这一事实之外,针对 .NET Core 框架的一大好处是它的占用空间比完整框架小得多,并且可以通过应用程序的文件复制进行部署。这意味着目标服务器不需要在部署之前安装 .Net 框架即可运行代码。这在某些您无法控制服务器级别安装的云托管情况下非常有用,并且在部署到物联网设备等受限环境时也很有帮助。
也就是说,我怀疑将会有很多 ASP.NET Core 应用程序编写来支持完整框架。从某些方面来说,这是一对美妙的组合。一方面,您可以获得超轻量且快速的 ASP.NET Core Web 平台,其中包含标记帮助程序和所有这些优点,另一方面,您仍然可以在 Windows 上访问许多 .Net 开发人员了解和喜爱的全功能框架。
归档时间: |
|
查看次数: |
1132 次 |
最近记录: |