随笔分类 -  APS.NET Core 系列总结

旨在系统总结和记录自己在日常工作和学习中关于ASP.NET Core框架的知识点,也分享给大家,帮助大家一起系统认识ASP.NET Core框架。
摘要:本篇接着上一篇 [ASP.NET Core - 日志记录系统(一)] 往下讲,所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括以下日志记录提供程序作为共享框架的一部分: Console Debug EventSource EventLo 阅读全文
posted @ 2025-01-12 11:50 啊晚 阅读(1354) 评论(0) 推荐(4) 编辑
摘要:一、日志记录 日志记录是什么?简单而言,就是通过一些方式记录应用程序运行中的某一时刻的状态,保留应用程序当时的信息。这对于我们进行应用程序的分析、审计以及维护有很大的作用。 作为程序员,我们恐怕谁也不敢保证我们开发的软件应用一定不存在BUG,一定不会出现故障,而当故障出现的时候,日志就是我们排查故障 阅读全文
posted @ 2023-07-19 22:39 啊晚 阅读(3442) 评论(3) 推荐(6) 编辑
摘要:分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比,分布式缓存具有多个优势。 当分发缓存数据时,数据: 阅读全文
posted @ 2023-04-19 10:19 啊晚 阅读(1099) 评论(1) 推荐(7) 编辑
摘要:话接上篇 ASP.NET Core - 缓存之内存缓存(上),所以这里的目录从 2.4 开始。 2.4 MemoryCacheEntryOptions MemoryCacheEntryOptions 是内存缓存配置类,可以通过它配置缓存相关的策略。除了上面讲到的过期时间,我们还能够设置下面这些: 设 阅读全文
posted @ 2023-04-11 15:59 啊晚 阅读(820) 评论(0) 推荐(4) 编辑
摘要:1. 缓存 缓存指的是在软件应用运行过程中,将一些数据生成副本直接进行存取,而不是从原始源(数据库,业务逻辑计算等)读取数据,减少生成内容所需的工作,从而显著提高应用的性能和可伸缩性,使用好缓存技术,有利于我们提升用户体验性。 对于缓存的使用有以下一些注意点: 缓存最适用于不常更改且生成成本很高的数 阅读全文
posted @ 2023-04-03 11:50 啊晚 阅读(1186) 评论(1) 推荐(5) 编辑
摘要:.NET Core 选项系统的主要实现在 Microsoft.Extensions.Options 和 Microsoft.Extensions.Options.ConfigurationExtensions 两个 Nuget 包。对于一个框架的源码进行解读,我们可以从我们常用的框架中的类或方法入手 阅读全文
posted @ 2023-03-30 09:17 啊晚 阅读(825) 评论(0) 推荐(4) 编辑
摘要:就像 Web Api 接口可以对入参进行验证,避免用户传入非法的或者不符合我们预期的参数一样,选项也可以对配置源的内容进行验证,避免配置中的值与选项类中的属性不对应或者不满足预期,毕竟大部分配置都是通过字符串的方式,验证是很有必要的。 1. 注解验证 像入参验证一样,选项验证也可以通过特性注解方便地 阅读全文
posted @ 2023-03-29 16:17 啊晚 阅读(498) 评论(0) 推荐(3) 编辑
摘要:上一篇 ASP.NET Core - 选项系统之选项配置 中提到 IOptions<TOptions>、IOptionsMonitor<TOptions> 和 IOptionsSnapshot<TOptions> 三个接口,通过这三个接口都可以从依赖注入容器中解析出已经配置的选项类,在我们通过 Co 阅读全文
posted @ 2023-03-23 14:07 啊晚 阅读(774) 评论(0) 推荐(5) 编辑
摘要:1. 选项 前面讲完了.NET Core 下的配置系统,我们可以通过 IConfiguration 服务从各种来源的配置中读取到配置信息,但是每次要用的时候都通过 Iconfiguration 读取配置文件会比较不方便,而且效率低。.NET Core 体系下提供了一个选项系统,该功能用于实现以强类型 阅读全文
posted @ 2023-03-15 10:03 啊晚 阅读(901) 评论(2) 推荐(4) 编辑
摘要:4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口实现,这两个接口在上一章 ASP.NET Core - 配置系统之配置提供程序 中也有提到了。 IC 阅读全文
posted @ 2023-03-13 09:11 啊晚 阅读(988) 评论(0) 推荐(3) 编辑
摘要:3. 配置提供程序 前面的章节提到,通过 IConfigurationBuilder 的实现类对象,我们可以自由地往配置系统中添加不同的配置提供程序,从而获取不同来源的配置信息。.NET Core 中,微软提供了以下这些内置的配置提供程序: 文件配置提供程序 环境变量配置提供程序 命令行配置提供程序 阅读全文
posted @ 2023-03-10 15:36 啊晚 阅读(700) 评论(0) 推荐(2) 编辑
摘要:2. 配置添加 配置系统可以读取到配置文件中的信息,那必然有某个地方可以将配置文件添加到配置系统中。之前的文章中讲到 ASP.NET Core 入口文件中,builder(WebApplicationBuilder 对象) 中有一个 Configuration 属性,这里就是我们扩展添加额外的配置的 阅读全文
posted @ 2023-03-06 10:16 啊晚 阅读(798) 评论(0) 推荐(3) 编辑
摘要:一个应用要运行起来,往往需要读取很多的预设好的配置信息,根据约定好的信息或方式执行一定的行为。 配置的本质就是软件运行的参数,在一个软件实现中需要的参数非常多,如果我们以 Hard Code(硬编码)的方式写在应用代码中,这样配置就会很乱,而且后续也不容易修改。乱而多,而且不容易修改,这就需要一个统 阅读全文
posted @ 2023-03-02 10:40 啊晚 阅读(1059) 评论(0) 推荐(4) 编辑
摘要:4. ASP.NET Core默认服务 之前讲了中间件,实际上一个中间件要正常进行工作,通常需要许多的服务配合进行,而中间件中的服务自然也是通过 Ioc 容器进行注册和注入的。前面也讲到,按照约定中间件的封装一般会提供一个 User{Middleware} 的扩展方法给用户使用,而服务注册中也有一个 阅读全文
posted @ 2023-03-01 15:14 啊晚 阅读(647) 评论(0) 推荐(4) 编辑
摘要:4. 容器中的服务创建与释放 我们使用了 IoC 容器之后,服务实例的创建和销毁的工作就交给了容器去处理,前面也讲到了服务的生命周期,那三种生命周期中对象的创建和销毁分别在什么时候呢。以下面的例子演示一下: 首先是新增三个类,用于注册三种不同的生命周期: public class Service1 阅读全文
posted @ 2023-02-28 09:49 啊晚 阅读(688) 评论(0) 推荐(1) 编辑
摘要:.NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 ASP.NET Core - 依赖注入(一) 2.3 服务解析 通过 IServiceCollection 注册了服务之后,可以通过以下方 阅读全文
posted @ 2023-02-24 09:13 啊晚 阅读(946) 评论(2) 推荐(1) 编辑
摘要:1. Ioc 与 DI Ioc 和 DI 这两个词大家都应该比较熟悉,这两者已经在各种开发语言各种框架中普遍使用,成为框架中的一种基础设施了。 Ioc 是控制反转, Inversion of Control 的缩写,DI 是依赖注入,Inject Dependency 的缩写。 所谓控制反转,反转的 阅读全文
posted @ 2023-02-21 09:15 啊晚 阅读(902) 评论(0) 推荐(4) 编辑
摘要:上一章讲了请求管道与中间件的基本概念和工作模式,也介绍了 ASP.NET Core 中内置的中间件,这一章介绍一下如何自定义中间件,这是很常用也很重要的内容,日常工作中很多场景我们都可以自定义自己的中间件,通过对请求管道进行拦截执行我们自己的业务逻辑,实现各种需求。这也是 ASP.NET Core 阅读全文
posted @ 2023-02-18 11:43 啊晚 阅读(728) 评论(2) 推荐(2) 编辑
摘要:1. 请求管道 请求管道是什么?请求管道描述的是一个请求进到我们的后端应用,后端应用如何处理的过程,从接收到请求,之后请求怎么流转,经过哪些处理,最后怎么返回响应。请求管道就是一次请求在后端应用的生命周期。了解请求管道,有助于我们明白后端应用是怎么工作的,我们的代码是怎么工作的,在我们的业务代码执行 阅读全文
posted @ 2023-02-15 14:17 啊晚 阅读(1518) 评论(1) 推荐(9) 编辑
摘要:自从.NET 6 开始,微软对应用的入口文件进行了调整,移除了 Main 方法和 Startup 文件,使用顶级语句的写法,将应用初始化的相关配置和操作全部集中在 Program.cs 文件中,如下: var builder = WebApplication.CreateBuilder(args); 阅读全文
posted @ 2023-02-13 15:22 啊晚 阅读(1353) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示