【问题标题】:Why should I choose ASP.NET Core with .Net core? [closed]为什么要选择 ASP.NET Core 和 .Net core? [关闭]
【发布时间】:2017-02-08 02:05:04
【问题描述】:

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

  • 带有 .Net Core 的 ASP.Net core Web 应用程序
  • 带有 .Net Framework 的 ASP.NET Core Web 应用程序

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

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

当我打算仅在 Windows 中运行时,选择带有 .Net Core 的 ASP.Net Core Web 应用程序有什么好处?我需要创建新的 WebAPI。依赖关系不是问题,这将是非常简单的基础 web api,所以我相信我可以在其中任何一个中完成,而无需依赖于构建在 .Framework 4.6 上的某些旧组件。*

另外,带有 .Net Framework 的 ASP.NET Core Web 应用程序和带有 .Net Framework 的 ASP.NET Web 应用程序有什么区别?

【问题讨论】:

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


    【解决方案1】:

    使用 .NET Core 有几个优点:

    1. 较小的应用程序,因为您只包含您需要的包
    2. 由于 #1 导致的攻击区域更小:您只包含应用实际使用的内容
    3. 如果您采用自包含应用程序路线,则部署更容易
    4. (可能)更好的长期支持和可升级性
    5. 未来迁移到 Linux 主机的可能性

    最大的缺点是某些 NuGet 包可能(还)不能在 .NET Core 上运行。根据您的应用使用什么,这可能是最终的决定因素。

    【讨论】:

      【解决方案2】:

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

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

      Asp.Net Core Web Applications 是以新格式创建项目。然后,您可以针对核心或完整的 .net 框架

      您可以找到更多信息here

      【讨论】:

        猜你喜欢
        • 2016-11-08
        • 2015-01-10
        • 2016-10-07
        • 2019-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-31
        • 2021-06-11
        相关资源
        最近更新 更多