摘要:
Serilog是.net平台上的一个记录程序诊断信息的日志框架,主要工作内容是决定将日志内容以何种格式保存到外部存储介质中(可以是控制台、文件、数据库和第三方日志服务)。除此之外还有NLog和Log4Net等类似的日志框架。 Serilog的优点是在云服务厂商中有支持Serilog的插件可以直接使用 阅读全文
摘要:
在EF7.0的更新中,新增了批量更新和批量删除的功能: 批量删除:ExecuteDelete 对 DbSet 调用 ExecuteDelete 或 ExecuteDeleteAsync 会立即从数据库中删除该 DbSet 的所有实体。 例如,删除所有 Tag 实体: await context.Ta 阅读全文
摘要:
ADO.NET中有DataReader和DataTable两种读取数据库查询结果的方式。 DataTable是把所有的数据一次性的从数据库服务器加载到客户端内存中,而DataReader则会分批从数据库服务器读取数据到客户端内存中。 DataTable的优点是减少了对数据库连接的占用,缺点是会占用较 阅读全文
摘要:
本章节要介绍创建后台作业时如何传递参数。 你可以像普通方法传递参数一样,往后台作业中传递额外的数据(方法参数),在后台作业执行的时候,这些参数会被Console.WriteLine方法使用。 1 BackgroundJob.Enqueue(() => Console.WriteLine("Hello 阅读全文
摘要:
本文主要介绍如何使用已配置好的HangFire来执行作业调度。 1、Fire-and-forget 即发即弃 立即调用作业并且只执行一次; 当我们调用Hangfire.BackgroundJob.Enqueue的时候,并不是立即调用传入的方法,它会执行以下的几个步骤: ①把作业信息(传入的方法和方法 阅读全文
摘要:
本文仅描述.net 6环境下如何安装和使用Hangfire进行后台作业任务调度。 1、首先安装需要的Nuget包: Hangfire.AspNetCore、 如果有持久化需求的话,还需要安装其它包,hangfire支持存储在SQLserver、redis、memory中, 本文演示使用的是SQLse 阅读全文
摘要:
Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the l 阅读全文
摘要:
在类库项目中不能直接引用WebApplicationBuilder、ApplicationBuilder等类,这些类位于Microsoft.ASPNetCore程序集中,但是无法通过Nuget包引用,因为该Nuget包的版本已经不再支持,很久没有更新过了。 解决方法: 在项目文件csproj文件中, 阅读全文
摘要:
本文仅演示 FluentValidation 的手动调用验证的方式,不涉及自动验证的方式 1、引用Nuget包:FluentValidation.AspNetCore; 2、依赖注入: builder.Services.AddValidatorsFromAssembly(Assembly.GetEx 阅读全文
摘要:
MediatR 实现.net中简单的中介者模式 是一个试图让进程内发送消息和处理消息的过程解耦的库。它支持跨平台和.net standart 2.0。支持请求/响应、命令、查询、通知和事件,通过C#通用变量与智能调度同步和异步。 安装MediatR包、 安装 MediatR.Contracts包:引 阅读全文