1.ASP.NET CORE MVC 是微软公司的Web应用开发框架,结合了MVC架构的高效、简洁等优秀思想并融合了.NET的灵活性。

2.ASP.NET诞生于2002年,当时微软想保持桌面应用程序的优势,视Web为威胁。

3.ASP.NET WEB FORM:类似于WinForm应用。

ASP.NET 部署在IIS上跑的是.NET应用,通过HTTP request、response来进行交互。

.NET:多语言代码托管平台。

4.ASP.NET WEB FORM

4.1WEB FORM 是一个抽象层,用于在Web上呈现传统的事件驱动图形界面。

4.2非常类似WinForm。

4.3View State视图状态负担。在请求之间维护状态的机制,被称为ViewState导致服务端和客户端之间的大块数据传递,导致响应变慢,增加了服务器的带宽占用。

4.4页面生命周期:将客户端事件链接到服务端处理程序代码的机制是页面生命周期的一部分,很复杂也很脆弱。很难再运行时,成功操作孔家的层级关系而不产生ViewState错误,一些事件处理程序会莫名其妙的失败。

4.5错误的关注点分离:WebForm 的后端代码模型提供了从HTML标记中提取应用程序代码的方法,用于分离View和Controller。

4.6对HTML的限制:IIS端将会渲染HTML,但生成的HTML不一定是你要的。早期ASP.NET生成的HTML不满足WEB标准,也不能很好的使用CSS(层叠样式表)。服务端控件生成不可预知的复杂ID ,很难被JS获取到。这些问题虽然已经做了改善,但是仍然很难得到你期望的HTML.

4.7漏洞百出:Web Forms尽最大努力隐藏HTML和HTTP.当你尝试实现自定义的行为时,会很难实现。

4.8可测试性差:Web Forms的设计者没有预料到自动测试会成为软件开发中至关重要的一部分。他们设计的高耦合架构不适合进行单元测试。集成测试也很困难。

4.9Web Form在提高标准兼容性和简化开发流程中做了很多的努力。可以快速的单间一个非常复杂的Web应用,但是你会发现你创建的应用非常那一测试和维护。

5.ASP.NET MVC _2007.10.微软在现有ASP.NET平台上发布的新的开发平台。包含了HTML.CSS标准化,RESTFul Web 服务,单元测试,HTTP无状态等。

5.1MVC框架是微软对于Web的一个态度转变。

5.2微软接纳了许多新的理念,接受了设计约定,采用了对手的很多优势,并公布了MVC框架的源码。

5.3为了将MVC 应用部署到最初为WebForms设计的平台上需要做很多的妥协。需要改配置、调代码等才能使程序正常运行。微软开始将MVC的一些和兴特性加入到WEB FORMS上,使得他们能够很好融合。ASP.NET开始变得混乱。

6.ASP.NET CORE MVC_2015ASP.NET MVC的新方向,ASP.NET CORE基于.NET CORE。是.NET的跨平台版本。商业性太强,为何在更多的平台上部署微软的程序。

7.ASP.NET CORE MVC 2:可以支持更多的Linux发行版本;简了Nuget包管理系统、新的ASP.NET CORE配置系统,对EF CORE2的支持,并支持了Razor Pages(更加现代的平台来重建Web,Web开发的新风格),但是MVC开发人员对此不感兴趣。

8.MVC架构

8.1Web应用需要结合多种技术:DB、HTML、逻辑代码等多种层次,从这些层的组合中产生的模式可以很自然的映射到MVC模式上。

8.2ASP.NET CORE为每个组件提供了三种扩展方式:

8.2.1使用组件的默认实现。

8.2.2使用默认实现的自雷来调整。

8.2.3使用接口和抽象积累的实现来完全替换组件。

8.3HTML和HTTP

8.3.1ASP.NET CORE 提供了符合标准的HTML标记。

8.3.2ASP.NET CORE 鼓励使用CSS。

8.4ASP.NET CORE可以进行单元测试,可以使用任意的测试框架来进行单元测试。

8.5早期的框架很难实现干净的URL。ASP.NET CORE MVC使用了URL ROUTER(URL路由功能)来实现了干净的URL。使得控制URL结构和应用程序的关系成为可能。使得开发者可以轻松定义现代RESTful风格的URL成为可能。

9.现代API

9.1ASP.NET CORE MVC充分使用了C#开发者熟悉的语言特性。

10.之前的Web Form 等应用需要部署和运行在Windows Server上,目前可以在mac os /linux 上进行部署,Windows Web应用不在局限于Windows平台。

11.开发人员可以免费下载ASP.NET CORE 和ASP.NET CORE MVC 源码,可以编译自己的版本。

https://github.com/aspnet源码地址

ASP.NET CORE MVC的一些说明的更多相关文章

  1. ASP.NET Core MVC/WebAPi 模型绑定探索

    前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用 ...

  2. ASP.NET Core MVC 配置全局路由前缀

    前言 大家好,今天给大家介绍一个 ASP.NET Core MVC 的一个新特性,给全局路由添加统一前缀.严格说其实不算是新特性,不过是Core MVC特有的. 应用背景 不知道大家在做 Web Ap ...

  3. ASP.NET Core MVC 中的 [Controller] 和 [NonController]

    前言 我们知道,在 MVC 应用程序中,有一部分约定的内容.其中关于 Controller 的约定是这样的. 每个 Controller 类的名字以 Controller 结尾,并且放置在 Contr ...

  4. ASP.NET Core 中文文档 第二章 指南(2)用 Visual Studio 和 ASP.NET Core MVC 创建首个 Web API

    原文:Building Your First Web API with ASP.NET Core MVC and Visual Studio 作者:Mike Wasson 和 Rick Anderso ...

  5. ASP.NET Core 中文文档 第二章 指南(4.1)ASP.NET Core MVC 与 Visual Studio 入门

    原文:Getting started with ASP.NET Core MVC and Visual Studio 作者:Rick Anderson 翻译:娄宇(Lyrics) 校对:刘怡(Alex ...

  6. ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览

    原文:Overview of ASP.NET Core MVC 作者:Steve Smith 翻译:张海龙(jiechen) 校对:高嵩 ASP.NET Core MVC 是使用模型-视图-控制器(M ...

  7. ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件-开源

    ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core. 曾经在WebForms上写过 HighchartsNET快速图表控件- ...

  8. ASP.NET Core MVC 在linux上的创建及发布

    前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...

  9. ASP.NET Core - ASP.NET Core MVC 的功能划分

    概述 大型 Web 应用比小型 Web 应用需要更好的组织.在大型应用中,ASP.NET MVC(和 Core MVC)所用的默认组织结构开始成为你的负累.你可以使用两种简单的技术来更新组织方法并及时 ...

  10. 解决ASP.NET Core Mvc文件上传限制问题

    一.简介 在ASP.NET Core MVC中,文件上传的最大上传文件默认为20MB,如果我们想上传一些比较大的文件,就不知道怎么去设置了,没有了Web.Config我们应该如何下手呢? 二.设置上传 ...

随机推荐

  1. 手写call&apply&bind

    在这里对call,apply,bind函数进行简单的封装 封装主要思想:给对象一个临时函数来调用,调用完毕后删除该临时函数对应的属性 call函数封装 function pliCall(fn, obj ...

  2. 基于GPT搭建私有知识库聊天机器人(四)问答实现

    前文链接: 基于GPT搭建私有知识库聊天机器人(一)实现原理 基于GPT搭建私有知识库聊天机器人(二)环境安装 基于GPT搭建私有知识库聊天机器人(三)向量数据训练 在前面的文章中,我们介绍了如何使用 ...

  3. Java Maven Settings配置参考

    介绍 快速概览 settings.xml文件中的 settings 元素包含用于定义以各种方式配置Maven执行的值的元素,如pom.xml,但不应绑定到任何特定项目或分发给受众.这些值包括本地仓库位 ...

  4. pytesseract and ddddocr

    一.pytesseract 1.简介 Pytesseract是一个Python库,用于将图像中的文本转换为可编辑的字符串.它是基于Google的Tesseract OCR引擎开发的 .Tesserac ...

  5. UE源码分析:Slate 类鼠标输入处理

    序言 UE4.25版本 本章看一下UE的 "类鼠标"输入处理(其实就是鼠标和触摸的输入,我也没找到专门的术语来代指,英文UE用的是PointerXXX),主要是按下.移动.抬起等相 ...

  6. [mysql]状态检查常用SQL

    前言 使用MySQL自身命令获取数据库服务状态. 连接数 -- 最大使用连接数 show status like 'Max_used_connections'; -- 系统配置的最大连接数 show ...

  7. 应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪(一)

    Istio 支持通过 Envoy 代理进行分布式追踪,代理自动为其应用程序生成追踪 span,只需要应用程序转发适当的请求上下文即可.Istio 支持很多追踪系统,包括 Zipkin, Jaeger, ...

  8. Win11+ VS2022编译 FFmpeg6.0 静态库

    目录 编译前言 为什么项目编译? 前期准备 环境配置 ffmpeg外部库 额外的编译选项-for渲染 opengl (需要glext) ffnvcodec (需要nv-codec-headers) A ...

  9. [ABC126E] 1 or 2

    2023-01-07 题目 题目传送门 翻译 翻译 难度&重要性(1~10):2 题目来源 AtCoder 题目算法 并查集 解题思路 因为每张卡片上的数字只能是 \(1\) 或者 \(2\) ...

  10. ABP Framework 7.4 RC 新增功能简介:增强微服务架构支持

    ABP Framework 版本号:7.4.0-rc.1 发布时间:2023.8.16 阅读原文:ABP.IO Platform 7.4 RC Has Been Published 翻译:iEricL ...