3.介绍ASP.NET Core框架
介绍asp.net core框架
在这篇文章中,我将要向你们简短介绍一下asp.net core 框架。当今社会,当提到软件开发,每个人都是讨论着开源以及跨平台开发。总所周知,微软是以它的基于windows产品出名的,比如windows系统,office办公套件等。现在我们处在新时代软件开发的潮流中,一个新的革命性的产品,被微软推出市场,那就是-----asp.net core.作为本文的一部分,我将详细述说下面几点。
- asp.net的历史
- 什么是asp.net core
- asp.net core的特点和优点有哪些
- asp.net core中没有哪些东西
asp.net 的历史
总所周知,asp.net是一个web框架,并且它被用来开发数据驱动的web应用程序,已经好多年了。从那以后,asp.net框架,就在稳固的更新变革中,现在最新的版本就是asp.net core.
- asp.net core不是asp.net framework的连续扩展,相反,它是从头到尾,完完全全的一个新框架。
- asp.net core实际上是在当前asp.net framework上的重写,但是它更小,更具模块化。
- 一些人可能认为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在开发者中,变得越来越流行,是因为下面几个原因,我们来详细看看吧:
- 开源的:asp.net core框架是开源的。框架的源代码在: ,你可以免费的下载,甚至如果你还可以修改,编译成你自己的版本。
- 跨平台: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应用程序。
- 对html以及http请求的完全控制:在asp.net core mvc框架中,你将获得html的完全控制权。这就意味着,你可以创建从简单到复杂的、带有css样式的html页面,并且把他们显示在浏览器上。同样的,你将获得http请求的完全控制权,这样就非常简单的来创建一个ajax请求了;在asp.net core中,你可以很方便的以插件的形式使用客户端框架,例如jquery、bootstrap、react、以及angular。
- 统一的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.
- 可扩展的框架: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中是没有的:
- global.asax文件
- web.config文件
- http handlers以及http modules(http 处理程序和http模块)
- asp.net 页面生命周期模型(asp.net page life-cycle model)
在下篇文章中,我将带领大家,使用visual studio创建第一个asp.net core应用程序.这篇文章中,我向大家简单介绍了asp.net core框架,希望可以帮到大家。
推荐阅读
-
asp.net core系列 72 Exceptionless使用介绍
-
ASP.NET Core简单介绍教程(1)
-
ASP.NET Core应用中与第三方IoC/DI框架的整合
-
asp.net core系列 66 Dapper介绍--Micro-ORM
-
一步步完成“迷你版” 的ASP.NET Core框架
-
ASP.NET Core身份认证服务框架IdentityServer4 介绍
-
基于 ASP.NET Core 2.0 WebAPI 后台框架搭建(0) - 目录概述
-
ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一)
-
asp.net core 系列 19 EFCore介绍
-
asp.net core 系列 2 启动Startup类介绍