Jackyfei

定制ASP NET 6.0框架系列文章

ASP.NET Core是微软提供的强大的web框架,它有很多潜在的强大而有用的功能。

本专栏的目标是帮助您把框架的隐藏能力最大限度地发挥出来,让您能够按需定制ASP NET Core框架。本专栏提供了一种具体的操作和实现方法,可以让你在短时间尽可能地提高效率。

有同学催促更新慢,这里打个广告,如果您想提前阅读,可以订阅我的知识星球,感谢您的捧场。

架构概览

接下来,我们将介绍ASP.NET Core的基础架构及其组件。这专栏讨论了架构的几乎所有组成部分。
下图显示了ASP.NET Core 6.0的基础架构,让我们从下往上快速浏览一下:

底部是Host层,它是引导web服务和启动ASP.NET Core所需的所有的东西,包括日志记录、配置和服务提供者(service provider),这些对象都是上层需要的依赖项。

Host层之上是中间件层。该层负责处理请求对象,比如错误处理、权限控制、HSTS、CORS等等。

此外,还有路由层,它根据定义的路由模式将请求路由到端点endpoints 。端点路由是NET Core的新层,它将路由与上面的UI层分离,以支持不同端点的路由,包括BlazorgRPCSignal

提醒:在ASP.NET Core的早期版本中,路由是MVC层的一部分,其他每个UI层都需要实现自己的路由。

实际端点由第四层UI层提供,该层包含著名的UI框架BlazorgRPCSignalRMVC。作为ASP.NET Core开发人员,这里是你主要编码的地方。

最后,在MVC上面,您将看到WebAPIRazor页面。

专栏涵盖的内容

本专栏并未涵盖架构概述中提到的所有主题。本书涵盖了Host层的大部分主题,因为Host层包含了您可能需要定制的大部分内容。本专栏讨论了中间件和路由,以及MVC特性和一些更多的WebAPI主题,在这些主题中你可以做一些魔性化定制。

在每篇的开头,我会提示主题的难度级别。

专栏未涵盖的内容

专栏不包括Razor PagesSignalgRPCBlazor

原因是gRPCSignal已经非常专业化,不需要定制。Blazor是ASP.NET Core的新成员,虽然尚未广泛使用。此外,笔者本身对Blazor还不够熟悉,不知道定制Blazor的所有细节。Razor页面位于MVC框架之上,MVC的定制也适用于Razor页面。

专栏的阅读对象

本书面向使用ASP.NET Core的web开发人员,他们可能需要更改框架的默认行为才能完成任务。读者应具备ASP. NET Core的基本知识,因为本专栏没有介绍这些技术的基础知识。读者还应该对Visual StudioVisual Studio Code或任何其他支持ASP.NET Core C#的代码编辑器有很好的了解。

专栏涵盖的章节

第1篇:“自定义日志记录”,介绍如何自定义日志记录行为以及如何添加自定义日志记录提供程序。

第2篇:自定义应用程序配置,帮助您了解如何使用不同的配置源和添加自定义配置提供程序。

第3篇:定制依赖注入,介绍依赖注入(DI)如何工作,以及如何使用不同的DI容器。

第4篇:用Kestrel配置和定制HTTPS,探讨如何以不同的方式配置HTTPS

第5篇:配置WebHostBuilder,帮助您了解如何在托管层上设置配置。

第6篇:使用不同的托管模型,介绍在不同平台上使用不同类型的托管。

第7篇:使用IHostedServiceBackgroundService,让您了解如何在后台执行任务。

第8篇:定制.NET 6.0的Middleware中间件,探讨使用中间件的HTTP上下文。

第9篇:“端点路由”,介绍如何使用新路由提供自定义端点。

第10篇:定制ASP.NET CoreIdentity,介绍如何扩展应用程序的用户属性,并帮助您更改Identity UI

第11篇:配置Identity(身份管理),帮助您管理用户及其角色。

第12篇:使用自定义OutputFormatterContent Negotiation(内容协商),介绍如何基于HTTP Accept头输出不同的内容类型。

第13章,使用自定义ModelBinder管理输入,帮您创建具有不同内容类型的输入模型。

第14章,创建自定义ActionFilter,介绍如何使用ActionFilter的面向切面编程。

第15章,使用缓存,帮助您提高应用程序的性能。

第16章,创建自定义TagHelper,通过创建TagHelper简化您的UI层。

技术准备

读者应具备ASP.NET Core的基本知识,以及Visual StudioVisual Studio Code或任何其他支持ASP.NET Core代码编辑器。

安装最新的NET 6.0 SDK。请在以下网址查找最新版本。

使用任何支持ASP NET Core的代码编辑器。我们建议使用Visual Studio Code(网址),因为它可在所有平台上使用。

专栏中的所有项目都将使用控制台、命令提示符、shellPowerShell创建。不建议使用Visual Studio创建项目,因为基本配置可能会被更改。

除了NET 6.0,理论上也支持NET Core 3.1NET 5.0,有些章节介绍了NET 6.0和5.0的些许差异。

最后

欢迎你加入我的知识星球,学习更新更全的.NET知识。有些同学反馈更新慢,这里打个小广告,如果您想提前阅读,可以订阅我的知识星球,感谢您的捧场。

posted @ 2022-05-17 17:19  张飞洪[厦门]  阅读(2614)  评论(10编辑  收藏  举报