为什么要在ASP.NET Core中使用完整的.NET Framework?

atc*_*way 33 .net-core asp.net-core

使用ASP.NET Core 1.0版本,可以根据此处的文档 .NET Core或完整的 .NET Framework 上运行.我试图理解为什么选择ASP.NET Core +完整的.NET Framework的后一种选择?

我理解完整的.NET Framework和.NET Core之间的区别.但是,如果我想使用完整的.NET Framework,为什么不使用ASP.NET 4.6呢?我认为这个想法是在.NET Core上使用ASP.NET Core的1-2个冲击,允许一系列的好处,如跨平台部署,模块化,部署到Docker容器的能力,性能等.没有.NET Core我不喜欢不相信该列表上的任何内容仍然有效,那么完整的.NET框架+ ASP.NET Core的用例是什么?在没有.NET Core的情况下,ASP.NET Core自身还能提供什么?

Dan*_*aan 29

.NET Core允许一系列的好处,如跨平台部署,模块化,部署到Docker容器的能力,性能等.没有.NET Core我不相信该列表上的任何内容仍然有效

如果您选择完整的.NET框架而不是.NET Core,那么您没有的唯一好处就是跨平台.部署,模块化,docker,性能等所有其他好处仍然有效.

我们实际上在完整的框架上运行我们的ASP.NET核心Web应用程序,现在我们享受了将Dependency Injection作为一等公民,内置NuGet,拥有精简的HTTP请求管道,使我们的性能更好,开源的好处(因此,通过对GitHub的短暂访问可以解决所有问题,模块化(仍然需要在近一年后才能找到我们无法根据自己的需求定制的东西),等等.我们知道我们不需要部署在除Windows之外的任何其他操作系统上,因此我们仍然可以获得完整框架的所有好处.

来自Tseng的更新

好吧,你仍然可以在Linux下以完整的.NET Framework为目标.那里你需要安装mono 4.6.有一些限制,因为并非所有类都以单声道实现,但大多数是和即将到来的情况(即加密)你必须解决

来自atconway的更新

如果这是一个要求,那么在.NET Core不支持VB.NET时也值得注意.


Wil*_*Ray 6

但是,如果我想使用完整的.NET Framework,为什么不使用ASP.NET 4.6呢?

如果我使用ASP.NET 4.6而不是ASP.NET Core 1,那么我将无法使用ASP.NET Core MVC.该文档页面上的所有功能都不会提供给我!我将不得不构建一个MVC5应用程序.Boooo!

我试图理解为什么选择ASP.NET Core +完整的.NET Framework的后一种选择?

我假设另一种方式来问这个问题:"为什么你可以采取红色路径,当你可以采取棕色路径?"

在此输入图像描述

这样做的一个论点是部署.如果您有一堆现有的带有IIS的Windows服务器,那么您需要在每个服务器上安装其他软件并将其设置为运行Core应用程序.IIS只是成为.NET Core应用程序的反向代理.

但是,如果这些应用程序是在.Net Framework上构建的,那么您就不必这样做了.您仍然可以使用Web部署(例如)将它们移动到服务器上.也许您还有其他一些您不想迁移的现有IIS配置设置.

使用面向.Net Framework的ASP.NET Core 1.0,您可以从ASP.NET Core MVC中获得新功能,而无需更改现有基础结构.

  • 这是不正确的.如果在.NET Framework上开发ASP.NET Core Web应用程序,则必须更新IIS配置.输出程序集是.exe,而不是.dll.唯一需要使用"红色路径"的是当一些必需的NuGet包没有移植到.NET Core时. (4认同)

far*_*ran 5

使用带有Asp.Net核心的完整.NET框架的一个重要好处是成熟的库和框架的可用性,这些库和框架主要是针对以前版本的.NET开发的.

但是,通过花时间和实现越来越多的库来定位.NET核心并为.NET核心本身开发更多功能,这种好处可能会逐渐消失.


归档时间:

查看次数:

10383 次

最近记录:

7 年,9 月 前