我为什么要选择带有.Net核心的ASP.NET Core?

时间:2016-09-29 16:26:54

标签: asp.net-core asp.net-core-mvc .net-core asp.net-core-1.0

现在,我看到创建ASP.net核心Web应用程序时有两个选项。

  • 带.Net Core的ASP.Net核心Web应用程序
  • 使用.Net Framework的ASP.NET核心Web应用程序

据我所知,第一个让我们可以在任何环境linux,mac,windows上运行它,而无需预先安装.net。

当然,我将仅在Windows环境中运行我的WebAPI。在那种情况下,我应该选择哪一个?带有.Net Core的ASP.Net核心Web应用程序或带有.Net Framework的ASP.Net核心Web应用程序?

当我计划仅在Windows中运行时,选择.Net Core的ASP.Net核心Web应用程序有什么好处?我需要创建新的WebAPI。依赖性不是问题,这将是非常简单的basi web api,所以我相信我可以在其中任何一个中做,而不依赖于基于.Framework 4.6构建的一些旧组件。*

另外,ASP.NET核心Web应用程序与.Net Framework和ASP.NET Web应用程序与.Net Framework有什么区别?

2 个答案:

答案 0 :(得分:8)

使用.NET Core时有一些优点:

  1. 较小的应用程序,因为您只包含所需的软件包
  2. 由于#1而导致的攻击区域较小:您只包含应用实际使用的内容
  3. 如果您使用自包含的应用路径,则更容易部署
  4. (可能)长期提供更好的支持和升级
  5. 将来迁移到Linux主机的可能性
  6. 最大的缺点是某些NuGet包在.NET Core上可能无法正常工作。根据您的应用使用的内容,这可能是最终决定因素。

答案 1 :(得分:0)

您的应用可以定位两者,直到您拥有仅在完整.net框架上运行的程序包依赖项。例如:NHibernate。然后,您只需要定位完整的.net框架。

ASP.Net Web应用程序(.NET Framework)是以旧格式创建项目(例如:WebForms)

Asp.Net核心Web应用程序是以新格式创建项目。然后你可以定位核心或完整的.net框架

您可以找到更多信息here