随笔分类 - .NET
摘要:浅析微软的网关项目 Intro 最近微软新开了一个项目 "ReverseProxy" ,也叫做 YARP(A Reverse Proxy) 官方介绍如下: YARP is a reverse proxy toolkit for building fast proxy servers in .NET
阅读全文
摘要:结合 AOP 打造更好用的 EF 自动审计
阅读全文
摘要:FluentAspects 基于 Fluent API 的 Aop Intro 上次我们做了一个简单的 AOP 实现示例,但是实现起来主要是基于 来做的,对于代码的侵入性太强,于是尝试实现基于 Fluent API 的方式来做 AOP 。 抽象 InterceptorResolver 原来获取方法执
阅读全文
摘要:优化委托的 `DynamicInvoke`
阅读全文
摘要:.NET 下基于动态代理的 AOP 框架实现揭秘
阅读全文
摘要:支持中间件管道的中断和分支
阅读全文
摘要:让 .NET 轻松构建中间件模式代码
阅读全文
摘要:EF Core 在 3.x 版本中增加了 `Interceptor`,使得我们可以在发生低级别数据库操作时作为 EF Core 正常运行的一部分自动调用它们。 例如,打开连接、提交事务或执行命令时。
所以我们可以自定义一个 `Interceptor` 来记录执行的 sql 语句,也可以通过 `Interceptor` 来实现 sql 语句的执行前的修改或者更准确的记录 DbCommand 执行的耗时。
这里我们可以借助 `Interceptor` 实现对于查询语句的修改,自动给查询语句加 `(WITH NOLOCK)`,`WITH NOLOCK` 等效于 `READ UNCOMMITED`(读未提交)的事务级别,这样可能会造成一定的脏读,但是从效率上而言,是比较高效的,不会因为别的事务长时间未提交导致查询阻塞,所以对于大数据多事务的场景下,查询 SQL 加 `NOLOCK` 还是比较有意义的
阅读全文
摘要:动手造轮子:给微软的日志框架写一个基于委托的日志提供者
阅读全文
摘要:基于 Roslyn 实现的条件解析引擎
阅读全文
摘要:WPF dotnet core 3.1 基于 `Microsoft.Extensions.Localization` 实现基本的多语言支持
阅读全文
摘要:在 dotnetcore WPF 中使用依赖注入
阅读全文
摘要:现在在项目里大多都是直接使用微软的依赖注入框架,而微软的注入方式比较简单,不如 AutoFac 使用起来灵活,于是想给微软的依赖注入增加一些扩展,使得可以像AutoFac 一样比较灵活的注册服务
阅读全文
摘要:DbTool 是一个支持 CodeFirst/DbFirst/ModelFirst 的数据库小工具,原本是基于 dotnet framework WinForm 实现的,在 1.1.0 版本更新中使用 dotnet core 3.1 基于 WPF 重写了,并实现了一个简单的基于插件模式开发模式并引入了多语言的基础支持。
阅读全文
摘要:用 C# 写一个 Redis 数据同步小工具
阅读全文
摘要:原来的导出方式比较适用于比较简单的导出,每一条数据在一行,数据列虽然自定义程度比较高,如果要一条数据对应多行就做不到了,于是就想支持根据模板导出,在 1.8.0 版本中引入了根据模板导出的功能
阅读全文
摘要:asp.net core 实现支持多语言 Intro 最近有一个外国友人通过邮件联系我,想用我的活动室预约,但是还没支持多语言,基本上都是写死的中文,所以最近想支持一下更多语言,于是有了多语言方面的一些实践 国际化/本地化介绍 国际化(Globalization)和本地化(Localization)
阅读全文
摘要:WeihanLi.Npoi 1.7.0 版本,增加了 `ColumnInputFormatter`/`ColumnOutputFormatter`,又进一步增强了导入导出的灵活性
阅读全文