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. 【Shell】ps 命令

    ps 命令 Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器. 1. ps 常用的命令 ps -aux #显示所有进程信息 ...

  2. ArrayList按指定大小分割集合

    ArrayList按指定大小分割集合 项目中使用SpringDataJpa的使用,用到了批量操作,发现框架本身有限制,长度不能超过1000,所以就百度了一下,网上都说是分段处理,也有说用OR的,但数据 ...

  3. Sa-Token 多账号认证:同时为系统的 Admin 账号和 User 账号提供鉴权操作

    Sa-Token 是一个轻量级 java 权限认证框架,主要解决登录认证.权限认证.单点登录.OAuth2.微服务网关鉴权 等一系列权限相关问题. Gitee 开源地址:https://gitee.c ...

  4. Linux 命令:time

    参考链接: time 命令

  5. 四 APPIUM GUI讲解(Windows版)(转)

    Windows版本的APPIUM GUI有以下图标或者按钮: ·Android Settings  - Android设置按钮,所有和安卓设置的参数都在这个里面 ·General Settings – ...

  6. Jmeter+Ant+Jenkins接口自动化测试平台

    一个完整的接口自动化测试平台需要支持接口的自动执行,自动生成测试报告,以及持续集成. Jmeter 支持接口的测试, Ant 支持自动构建,而 Jenkins 支持持续集成,所以三者组合在一起可以构成 ...

  7. c# .NET 高级编程 高并发必备技巧 - 锁

    锁 最为常见的应用就是 高并发的情况下,库存的控制.本次只做简单的单机锁介绍. 直接看代码: 每请求一次库存-1. 假如库存1000,在1000个人请求之后,库存将变为0. public int Re ...

  8. 解放双手!ChatGPT助力编写JAVA框架

    亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下手,不知道从哪开始.要么有思路了后对某个功能实现的技术细节不了解,空有想法而无法实现 ...

  9. MapReduce核心概念及架构

    MapReduce简介 MapReduce常用于对大规模数据集(大于1TB)的并行运算,或对大数据进行加工.挖掘和优化等处理. MapReduce将并行计算过程高度抽象到了两个函数map和reduce ...

  10. Oracle主键自增列

    SQL Server创建主键自增列我们可以使用"ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY"一步到位创建,而Oracle创建主键自增列和SQ ...