共计 28 篇文章

C# 结合 using 语句块的三种实用方法

一、简介 阅读 Abp 源码的过程中,自己也学习到了一些之前没有接触过的知识。在这里,我在这儿针对研究学习 Abp 框架中,遇到的一些值得分享的知识写几篇文章。如果有什么疑问或者问题,欢迎大家评论指正。 在本篇主要是 Scoped 范围与 using 语句块的使用。using 语句块大家一定都不陌生,都是与非托管对象一起存在的,它有一个特性就是在 using 语句块结束的时候会调用对象的 IDispose.Dispose( ...

Abp + MongoDb 改造默认的审计日志存储位置

一、背景 在实际项目的开发当中,使用 Abp Zero 自带的审计日志功能写入效率比较低。其次审计日志数据量中后期十分庞大,不适合与业务数据存放在一起。所以我们可以重新实现 Abp 的 IAuditingStore 接口,来让我们的审计日志数据存储在 MongoDb 当中。 二、实现 2.0 引入相关包 这里我们需要在模块项目引入 Abp 与 mongocsharpdriver ...

关于 Abp 替换了 DryIoc 框架之后的问题

在之前有些过一篇文章 《使用 DryIoc 替换 Abp 的 DI 框架》 ,在该文章里面我尝试通过以替换 IocManager 内部的 IContainer 来实现使用我们自己的 DI 框架。替换了之后我们基本上是可以正常使用了,不过仍然还存在有以下两个比较显著的问题。 拦截器功能无法正常使用,需要重复递归查找真实类型,消耗性能。 针对于通过 IServiceCollection.AddScoped() 方法添加的 Scoped 类型的解析存在问题。 ...

使用 DryIoc 替换 Abp 的 DI 框架

一、背景 你说我 Castle Windsor 库用得好好的,为啥要大费周章的替换成 DryIoc 库呢?那就是性能,DryIoc 是一款优秀而且轻量级的 DI 框架,整个项目代码就两个文件,加起来代码 1 万行左右(PS: 大部分都是注释)。 在各个 Ioc 容器的性能评测当中,DryIoc 以其优异的性能成为我选择使用他的原因。Abp ...