玉林市住房和城乡建设厅网站,网站制作模板程序,自己做了一个网站,集运网站建设ASP.NET Core是微软提供的强大的web框架#xff0c;它有很多潜在的强大而有用的功能。本专栏的目标是帮助您把框架的隐藏能力最大限度地发挥出来#xff0c;让您能够按需定制ASP NET Core框架。本专栏提供了一种具体的操作和实现方法#xff0c;可以让你在短时间尽可能地提高… 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层分离以支持不同端点的路由包括Blazor、gRPC和Signal。提醒在ASP.NET Core的早期版本中路由是MVC层的一部分其他每个UI层都需要实现自己的路由。实际端点由第四层UI层提供该层包含著名的UI框架Blazor、gRPC、SignalR和MVC。作为ASP.NET Core开发人员这里是你主要编码的地方。最后在MVC上面您将看到WebAPI和Razor页面。专栏涵盖的内容本专栏并未涵盖架构概述中提到的所有主题。本书涵盖了Host层的大部分主题因为Host层包含了您可能需要定制的大部分内容。本专栏讨论了中间件和路由以及MVC特性和一些更多的WebAPI主题在这些主题中你可以做一些魔性化定制。在每篇的开头我会提示主题的难度级别。专栏未涵盖的内容专栏不包括Razor Pages、Signal、gRPC和Blazor。原因是gRPC和Signal已经非常专业化不需要定制。Blazor是ASP.NET Core的新成员虽然尚未广泛使用。此外笔者本身对Blazor还不够熟悉不知道定制Blazor的所有细节。Razor页面位于MVC框架之上MVC的定制也适用于Razor页面。专栏的阅读对象本书面向使用ASP.NET Core的web开发人员他们可能需要更改框架的默认行为才能完成任务。读者应具备ASP. NET Core的基本知识因为本专栏没有介绍这些技术的基础知识。读者还应该对Visual Studio、Visual Studio Code或任何其他支持ASP.NET Core和C#的代码编辑器有很好的了解。专栏涵盖的章节第1篇“自定义日志记录”介绍如何自定义日志记录行为以及如何添加自定义日志记录提供程序。第2篇自定义应用程序配置帮助您了解如何使用不同的配置源和添加自定义配置提供程序。第3篇定制依赖注入介绍依赖注入DI如何工作以及如何使用不同的DI容器。第4篇用Kestrel配置和定制HTTPS探讨如何以不同的方式配置HTTPS。第5篇配置WebHostBuilder帮助您了解如何在托管层上设置配置。第6篇使用不同的托管模型介绍在不同平台上使用不同类型的托管。第7篇使用IHostedService和BackgroundService让您了解如何在后台执行任务。第8篇编写定制中间件探讨使用中间件的HTTP上下文。第9篇“端点路由”介绍如何使用新路由提供自定义端点。第10篇定制ASP.NET Core的Identity介绍如何扩展应用程序的用户属性并帮助您更改Identity UI。第11篇配置Identity(身份管理)帮助您管理用户及其角色。第12篇使用自定义OutputFormatter的Content Negotiation(内容协商)介绍如何基于HTTP Accept头输出不同的内容类型。第13章使用自定义ModelBinder管理输入帮您创建具有不同内容类型的输入模型。第14章创建自定义ActionFilter介绍如何使用ActionFilter的面向切面编程。第15章使用缓存帮助您提高应用程序的性能。第16章创建自定义TagHelper通过创建TagHelper简化您的UI层。技术准备读者应具备ASP.NET Core的基本知识以及Visual Studio、Visual Studio Code或任何其他支持ASP.NET Core代码编辑器。安装最新的NET 6.0 SDK。请在以下网址查找最新版本。使用任何支持ASP NET Core的代码编辑器。我们建议使用Visual Studio Code(网址)因为它可在所有平台上使用。专栏中的所有项目都将使用控制台、命令提示符、shell或PowerShell创建。不建议使用Visual Studio创建项目因为基本配置可能会被更改。除了NET 6.0理论上也支持NET Core 3.1或NET 5.0有些章节介绍了NET 6.0和5.0的些许差异。