RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1325059
Accepted
gitfront
gitfront
Asked:2022-09-03 23:02:35 +0000 UTC2022-09-03 23:02:35 +0000 UTC 2022-09-03 23:02:35 +0000 UTC

ASP.NET Core 与 ASP.NET MVC 和 ASP.NET Core MVC 与 ASP.NET 的区别

  • 772

ASP.NET Core 与 .NET Core 和 ASP.NET 有什么区别?我真的很想得到一个详细而完整的答案。(解释所有这些技术之间的区别——上述两种技术之间的区别)

asp.net-mvc
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. S.H.
    2022-09-03T23:36:19Z2022-09-03T23:36:19Z

    在这个问题中,困难在于以上必须通过多个参数进行比较。

    您的问题是指这些是属于同一“技术类别”的事物,因此可以很容易地进行比较。

    要理解这一点,我们必须回顾过去。

    首先是 ASP。这是一个“来自微软的略微调整的 php-shechka”,课程中混合了 html 和代码,但已经有强大的类型和连接 COM 组件的能力。

    这为构建服务器端的活动内容站点开辟了很大的空间,因为此时的 JS 还处于起步阶段,仅适用于 12 月至 3 月之间在首页上绘制雪花。

    然后,由于 ASP 缩写已经为观众所熟知(而微软通常喜欢三字母缩写),ASP.NET 出现了

    这是向前迈出的一大步,这使得在 WEB 站点的服务器端使用 NET Framework 的功能成为可能。这里的“能力”是指语言的能力(C#、VB.NET,我认为是 F#——它们都被编译成使用 NET 运行时执行的中间字节码)。但是,由于 NET Framework(版本 1、2、3、3.5、4、4.5、4.51、4.52、4.6、4.7 和 4.8)仅适用于 Windows,因此被钉在 IIS 和 Microsoft Server 上,这当然导致所有留着胡子的 Linux 管理员都露出讽刺的笑容。

    与此同时,ASP.NET MVC 出现了,这意味着在 ASP.NET 中使用了 Model-View-Controller 模式。实际上,建议将代码划分为与模型、视图或控制器相关的实体,而不是随机分组代码。

    为了成为跨平台,.NET Core 应运而生。它在 Windows 和 Linux 上的工作方式相同。这是一个庞大的框架,规模堪比 Java 世界的 Spring。它的 WEB 部分称为 ASP.NET Core。它能够使用 MVC 模式,这就是 ASP.NET Core MVC 可能的意思。

    由于连续写很多缩写很无聊,所以名称开始减少,例如从 ASP.NET Core MVC 到 .NET Core MVC,以及笼统的 - 谁在什么。

    事实上,.NET Core 有:

    .NET Core 是整个框架。

    ASP.NET Core 是为 WEB 量身定制的框架的一部分。

    ASP.NET Core MVC - 框架的一部分,针对 WEB 进行了锐化,其中应用了 MVC 模式

    所以,回归问题,对比的时候,需要使用如下方案:

    1. 技术名称中是否有 ASP 或 ASP.NET?如果是,那么这项技术与WEB有关。如果只是“ASP”——很可能,.NET 只是“忘记添加”,因为 ASP 技术非常古老,已不再使用。

    2. 技术名称中有Core吗?如果是这样,那么该技术是跨平台的并且基于 .NET Core 框架。如果技术名称中有Framework或者只是缺少Core这个词,很可能是指NET Framefork框架,它只能在Windows下工作

    3. 以技术的名义有 MVC 吗?如果是,则应用模型-视图-控制器上的分离模式,如果不是,它们以某种方式在没有它的情况下进行管理。或者他们减少了部分缩写,相信每个人都会猜到。

    因此,您当前问题的答案(在编辑问题之前,您还提到了 MVC 模式的使用)是:

    | Название технологии   | WEB или общего назначения?  |  Кроссплатформенная?  |
    |                       |                             |                       |
    | ASP.NET Core          | WEB                         |  да                   |
    |                       |                             |                       |
    | .NET Core             | общего назначения           |  да                   |
    |                       |                             |                       |
    | ASP.NET?              | WEB                         |  нет, только Windows  |
    

    所以变得更清楚了?

    • 9
  2. Best Answer
    user177221
    2022-09-04T02:01:26Z2022-09-04T02:01:26Z

    简而言之,有两个平台:

    • .NET 框架。仅在 Windows 下,版本从 1 到 4.8。最后一次发布于 2019 年 4 月 18 日,没有进一步的开发。优点 - 直到最近,它只能在其上为 Windows 编写桌面应用程序。

    • .NET Core - 跨平台 (Windows/Mac/Linux),版本 1-3、5、6。积极开发,当前版本为 5,几乎是 6。版本编号中省略了 4,以免与并发混淆.NET 框架的版本。从第 3 版开始,它还支持 Windows 桌面应用程序。

    根据 MS的说法,从版本 5 开始的 .NET Core 是一个单一平台,只是重命名为 .NET 5,其他所有内容(包括 .NET Framework 4.8)都是遗留的。

    因此,如果您决定学习 .NET - 请使用 .NET 5。


    与 ASP.NET 相同的故事:

    • ASP.NET - 用于 Web 开发的 .NET 框架库。
    • ASP.NET MVC - 使用 MVC 模式进行 Web 开发的 .NET 框架库。
    • ASP.NET Core 5.0 - 用于 Web 开发的 .NET 5 库(包括使用 MVC)

    在 ASP.NET Core 5.0 的名称中,留下了 Core 这个词,因为。.NET Framework 下的 ASP.NET MVC(非核心)的最新版本是第 5 版 - 想要避免更多的混乱。


    因此,当前的 Web 堆栈是 .NET 5 + ASP.NET Core 5

    • 7

相关问题

  • 无法将类型“System.Web.Mvc.SelectList”转换为“Microsoft.AspNetCore.Mvc.Rendering.SelectList”

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    表格填充不起作用

    • 2 个回答
  • Marko Smith

    提示 50/50,有两个,其中一个是正确的

    • 1 个回答
  • Marko Smith

    在 PyQt5 中停止进程

    • 1 个回答
  • Marko Smith

    我的脚本不工作

    • 1 个回答
  • Marko Smith

    在文本文件中写入和读取列表

    • 2 个回答
  • Marko Smith

    如何像屏幕截图中那样并排排列这些块?

    • 1 个回答
  • Marko Smith

    确定文本文件中每一行的字符数

    • 2 个回答
  • Marko Smith

    将接口对象传递给 JAVA 构造函数

    • 1 个回答
  • Marko Smith

    正确更新数据库中的数据

    • 1 个回答
  • Marko Smith

    Python解析不是css

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5