介绍ASP.NET Core框架

在这篇文章中,我将要向你们简短介绍一下ASP.NET Core 框架。当今社会,当提到软件开发,每个人都是讨论着开源以及跨平台开发。总所周知,微软是以它的基于Windows产品出名的,比如Windows系统,Office办公套件等。现在我们处在新时代软件开发的潮流中,一个新的革命性的产品,被微软推出市场,那就是-----ASP.NET Core.作为本文的一部分,我将详细述说下面几点。

  1. ASP.NET的历史
  2. 什么是ASP.NET Core
  3. ASP.NET Core的特点和优点有哪些
  4. ASP.NET Core中没有哪些东西

ASP.NET 的历史

总所周知,ASP.NET是一个web框架,并且它被用来开发数据驱动的Web应用程序,已经好多年了。从那以后,ASP.NET框架,就在稳固的更新变革中,现在最新的版本就是ASP.NET Core.

  1. ASP.NET Core不是ASP.NET Framework的连续扩展,相反,它是从头到尾,完完全全的一个新框架。
  2. ASP.NET Core实际上是在当前ASP.NET Framework上的重写,但是它更小,更具模块化。
  3. 一些人可能认为ASP.NET Core在大多数方面和ASP.NET Framework保持一致,但是这并不完全正确。ASP.NET Core实际上是在ASP.NET Framework基础上做的一个大的根本性改变。

什么是ASP.NET Core

ASP.NET Core是一个全新的跨平台、高性能、轻量级、开源的框架。它可以用来开发现代的、联网的、基于云的Web应用程序、IoT物联网、以及WebApIs,ASP.NET Core开发的这些应用可以运行在Windows、Linux、或者Mac操作系统上。

ASP.NET Core框架是基于.NET Framrwork 4.x的完全重写,ASP.NET Core改变了.NET Framework的架构,现在它变得更加模块化、可扩展、开源的、高性能、轻量级、并且可以跨平台。

ASP.NET Core的优点和特点

现如今,ASP.NET Core在开发者中,变得越来越流行,是因为下面几个原因,我们来详细看看吧:

  1. 开源的:ASP.NET Core框架是开源的。框架的源代码在:https://github.com/aspnet ,你可以免费的下载,甚至如果你还可以修改,编译成你自己的版本。
  2. 跨平台:ASP.NET Core是重新设计的框架,它的开发和部署都是跨平台的。我们来讨论一下ASP.NET Core跨平台的特点,并且把它和早期的.NET Framrwork做一个比较。早期的ASP.NET Framework应用程序,仅仅只能运行在Windows平台上,然而ASP.NET Core可以开发运行在不同的平台上,例如:Windows、Mac、或者Linux操作系统上。我们仅仅只能把ASP.NET Framework 4.x的应用程序部署在IIS上;然而我们可以在IIS、Nginx、Docker、Apache部署ASP.NET Core应用程序,甚至还可以自托管部署。为了开发ASP.NET Core应用程序,你的选择有很多,你可以选择使用Visual Studio或者Visual Studio Code等。如果你想,你可以选择任何第三方的编辑器来开发ASP.NET Core应用程序。
  3. 对HTML以及Http请求的完全控制:在ASP.NET Core MVC框架中,你将获得HTML的完全控制权。这就意味着,你可以创建从简单到复杂的、带有CSS样式的HTML页面,并且把他们显示在浏览器上。同样的,你将获得HTTP请求的完全控制权,这样就非常简单的来创建一个Ajax请求了;在ASP.NET Core中,你可以很方便的以插件的形式使用客户端框架,例如JQuery、Bootstrap、React、以及Angular。
  4. 统一的MVC和Web API框架:ASP.NET Core提供了一个统一的编程模型,用来开发Web Apps和Web APIs.这就意味着,一个Controller类,可以用来处理MVC和Web APIs. 我们在ASP.NET Core(Web Apps或者Web APIs)中创建的控制器,都是要继承Controller基类,并且返回IActionResult接口。IActionResult提供了很多的实现,例如JsonResult以及ViewResult等,还有后面要讲到的很多,都实现了IActionResult接口。在ASP.Net Core API应用程序中,控制器中的方法,是返回JsonResult.与此同时,在ASP.NET Core Web应用程序中,控制中的Action方法返回的是ViewResult.
  5. 可扩展的框架:ASP.NET Core MVC框架是高度可扩展的。这意味着,今天你开发了一个应用程序,以后也很容易扩展二次开发。下面的这些关键特点提供了ASP.NET Core强大的可扩展性:

1.视图组件(View Components)

2.Tag帮助类(Tag Helper)

3.路由(Routing)

接下来的文章中,我将会一一详细,讨论这些细节的,敬请关注!

6.  依赖注入:  在真实的应用程序中,最重要的设计模式之一就是:依赖注入。并且同样重要的是ASP.NETCore 框架提供了内置的依赖注入,我将会在后面的文章中,带大家一起来学习ASP.NET Core中的依赖注入。

7.  测试可维护性:你可以很方便的测试维护ASP.NET Core应用程序。这是因为ASP.NET Core允许你将应用程序分成各个独立的部分,并且允许你独立的测试各个部分。测试框架例如:xUnit以及MOQ可以很轻松的集成到ASP.NET Core应用程序中,进行任何模拟测试。

8.  处理请求响应管道:我们可以使用中间件组件,来处理ASP.NET Core应用程序中的请求响应。在早期的ASP.NET Framework 4.x中,我们通常使用处理程序和模块来处理请求响应管道。ASP.NET Core提供了很多内置的中间件组件,我们可以使用这些中间件组件来处理请求响应管道。如果你愿意,也可以创建自己的中间件组件,来处理请求响应管道。在后面的文章中,我将会教大家中间件组件的使用,以及在ASP.NET Core中怎么来创建自定义的中间件组件。

什么是ASP.NET Core没有的东西

如果你是从ASP.NET 4.x过来学习这个系列的人,那么你就会发现,下面这些在ASP.NET Core中是没有的:

  1. Global.asax文件
  2. Web.config文件
  3. HTTP Handlers以及HTTP Modules(HTTP 处理程序和HTTP模块)
  4. ASP.NET 页面生命周期模型(ASP.NET Page Life-Cycle model)

在下篇文章中,我将带领大家,使用Visual Studio创建第一个ASP.NET Core应用程序.这篇文章中,我向大家简单介绍了ASP.NET Core框架,希望可以帮到大家。

3.介绍ASP.NET Core框架的更多相关文章

  1. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  2. ASP.NET 5 已死 - 隆重介绍 ASP.NET Core 1.0 和 .NET Core 1.0

    还没正式登场就死了?不能怪我标题党,是大神Scott在他博客上这么说的,我只是翻译了一下. 在1月20号最新的ASP.NET Community Standup视频中,微软aspnet开发组的大帅哥 ...

  3. 一个Mini的ASP.NET Core框架的实现

    一.ASP.NET Core Mini 在2019年1月的微软技术(苏州)俱乐部成立大会上,蒋金楠老师(大内老A)分享了一个名为“ASP.NET Core框架揭秘”的课程,他用不到200行的代码实现了 ...

  4. 200行代码,7个对象——让你了解ASP.NET Core框架的本质

    2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘>的分享.在此次分享中,我按照ASP.NET Core自身的运行原理和设计 ...

  5. ASP.NET Core框架揭秘(持续更新中…)

    之前写了一系列关于.NET Core/ASP.NET Core的文章,但是大都是针对RC版本.到了正式的RTM,很多地方都发生了改变,所以我会将之前发布的文章针对正式版本的.NET Core 1.0进 ...

  6. 了解ASP.NET Core框架的本质

    了解ASP.NET Core框架的本质 ASP.NET Core自身的运行原理和设计思想创建了一个 “迷你版” 的ASP.NET Core框架,并且利用这个 “极简” 的模拟框架阐述了ASP.NET ...

  7. 200行代码,7个对象——让你了解ASP.NET Core框架的本质

    原文:200行代码,7个对象--让你了解ASP.NET Core框架的本质 2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘&g ...

  8. ASP.NET Core框架的本质

    源文章地址:http://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html 1.从Hello World谈起 当我们最开始学习一门 ...

  9. ASP.NET Core 框架本质学习

    本文作为学习过程中的一个记录. 学习文章地址: https://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html 一. ASP.N ...

随机推荐

  1. 非对称加密算法RSA 学习

    非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...

  2. MVC05

    1. 添加搜索功能 如何实现url添加查询字符串实现查询指定项目的功能? 来到MovisController,修改Index方法如下 public ActionResult Index(string ...

  3. BeetleX之XRPC远程委托调用

    BeetleX.XRPC是基于接口的远程通讯组件,它不紧可以把接口提供客户端调用,同样也支持服务端创建客户端的接口实例并主动调用客户端的方法.接口有着非常的规范性和约束性,但前提你是必须制定相应的接口 ...

  4. 带你入门 CSS Grid 布局

    前言 三月中旬的时候,有一个对于 CSS 开发者来说很重要的消息,最新版的 Firefox 和 Chrome 已经正式支 CSS Grid 这一新特性啦.没错:我们现在就可以在最流行的两大浏览器上玩转 ...

  5. 前端每日实战:111# 视频演示如何用纯 CSS 创作一只艺术的鸭子

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/aaoveW 可交互视频 此视频是可 ...

  6. Flask css 无法实时更新

    css代码改完了,但是查看网页源代码css的内容还是很久之前的,根本没有更新 解决方法: 1.浏览器缓存.使用ctrl+F5刷新一下页面 2. 3. from datetime import time ...

  7. Linux系统简单文件操作命令

    项目 内容 作业课程归属 班级课程链接 作业要求 作业要求链接 学号-姓名 17041419-刘金林 作业学习目标 1)学习Linux的基本操作命令:2)在终端上运用命令行去实现基本文件操作 1.查看 ...

  8. Mysql(Mariadb)慢查询日志中long_query_time 与log_queries_not_using_indexes与min_examined_row_limit 关系分析

    慢查询日志中long_query_time 与log_queries_not_using_indexes与min_examined_row_limit 关系分析   参数介绍: long_query_ ...

  9. ubuntu16.04 + caffe + SSD 硬件配置

    搞了几个月,终于把SSD试通了,不是科班出身的就是弯路多啊.几个月才跑通了caffe + ssd,痛苦至极,好在柳暗花明.好了,废话不多说,入正题. SSD作为object detection的论文, ...

  10. 利用Python爬取OPGG上英雄联盟英雄胜率及选取率信息

    一.分析网站内容 本次爬取网站为opgg,网址为:” http://www.op.gg/champion/statistics” 由网站界面可以看出,右侧有英雄的详细信息,以Garen为例,胜率为53 ...