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. 使用Githud 实现分发IPA包遇到的坑

    最近要用到测试包分发,首先想到了,蒲公英,但是把包扔上去,扫描下载的时候发现,现在需要用户登录才能下载,弃了. 又跑到fir ,发现还得实名才能用,还得上传各种证件照,而且好像每天只有10个下载量,. ...

  2. 【HTML】TinyMCE 编辑器

    HTML编辑器 一.页面效果 二.引入JS.CSS <!DOCTYPE html> <html lang="en"> <head> <me ...

  3. 春节无法线下社交聚会,来线上“一起X”共享体验

    引语: 共享体验或许是全真互联网时代最显著的标志. 被疫情深刻改变的一年里,人们的社交关系和社交活动正在发生巨大的改变. 一方面,从线下转线上,我们能通过互联网连接更多的人,参与各种形式的社交活动,将 ...

  4. idea专业版和idea社区版整合Tomcat,并将war包部署

    目录 一.idea专业版部署 二.idea社区版部署 三.错误案例 开发过程中,由于需要运用云平台,所以从新配置开发环境,其它或多或少有些许问题,但解决起来较为轻松.而对于部署注册中心Eureka时, ...

  5. java反序列化与反序列化

    java反序列化漏洞 JAVA反序列化漏洞是由于开发者重写了readObject方法,该readObject方法方法调用了别的方法,最终执行到了例如Transfrom方法的危险方法 java序列化过程 ...

  6. C语言指针--一级指针

    文章目录 前言 一.什么是指针 二.一级指针的使用 1.一级指针的创建 2.指针的赋值 3.&是什么 4.一维指针的使用 4.1 `变量` 和 `*变量` 4.2 输出指针变量内容 4.3 改 ...

  7. Centos查看挂载目录并挂载

    一.概述 本次已Centos7作为示例 挂载系统没有挂载的磁盘,可以分如下几步 1.查看系统哪些盘未挂载 2.给未挂载的磁盘进行分区 3.格式化磁盘并向磁盘中写入系统文件 4.挂载磁盘 5.设置开机自 ...

  8. study the docker network of macvlan

    Introduce: 在 Macvlan 出现之前,我们只能为一块以太网卡添加多个 IP 地址,却不能添加多个 MAC 地址,因为 MAC 地址正是通过其全球唯一性来标识一块以太网卡的,即便你使用了创 ...

  9. Pytorch 最全入门介绍,Pytorch入门看这一篇就够了

    本文通过详细且实践性的方式介绍了 PyTorch 的使用,包括环境安装.基础知识.张量操作.自动求导机制.神经网络创建.数据处理.模型训练.测试以及模型的保存和加载. 1. Pytorch简介 在这一 ...

  10. Gin+Xterm.js实现远程Kubernetes Pod(一)

    Xterm.js简介 xterm.js (https://xtermjs.org/)是一个开源的 JavaScript 库,它模拟了一个终端接口,可以在网页中嵌入一个完全功能的终端.这个库非常灵活,并 ...