介绍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框架是开源的。框架的源代码在:https://github.com/aspnet ,你可以免费的下载,甚至如果你还可以修改,编译成你自己的版本。
跨平台: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框架,希望可以帮到大家。

原文地址https://www.cnblogs.com/caofangsheng/p/12631345.html

相关文章
|
29天前
|
消息中间件 前端开发 小程序
一个基于.NET Core构建的简单、跨平台、模块化的商城系统
今天大姚给大家分享一个基于.NET Core构建的简单、跨平台、模块化、完全开源免费(MIT License)的商城系统:Module Shop。
|
29天前
|
算法 C# 数据库
【干货】一份10万字免费的C#/.NET/.NET Core面试宝典
C#/.NET/.NET Core相关技术常见面试题汇总,不仅仅为了面试而学习,更多的是查漏补缺、扩充知识面和大家共同学习进步。该知识库主要由自己平时学习实践总结、网上优秀文章资料收集(这一部分会标注来源)和社区小伙伴提供三部分组成。该份基础面试宝典完全免费,发布两年来收获了广大.NET小伙伴的好评,我会持续更新和改进,欢迎关注我的公众号【追逐时光者】第一时间获取最新更新的面试题内容。
|
29天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
3月前
|
开发框架 JavaScript 前端开发
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
5个.NET开源且强大的快速开发框架(帮助你提高生产效率)
105 4
|
4天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
12天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
20 0
|
27天前
|
Linux API iOS开发
.net core 优势
.NET Core 的优势:跨平台兼容(Windows, macOS, Linux)及容器支持,高性能,支持并行版本控制,丰富的新增API,以及开源。
25 4
|
29天前
|
开发框架 人工智能 .NET
C#/.NET/.NET Core拾遗补漏合集(持续更新)
在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NET Core拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。
|
2月前
|
开发框架 网络协议 .NET
深入.net框架
深入.net框架
12 0
|
2月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
73 0