案例:各项目自己进行服务注册的案例

目的:在分层项目中,让各个项目负责各自的服务注册。

1、首先用NuGet控制台在各个项目都安装一个包:Install-Package Zack.Commons

 

2、在每个项目中创建一个或多个实现了IModuleInitializer接口的类

3、初始化DI容器:

var assemblies=ReflectionHelper.GetAllReferencedAssemblies();

Bulider.Services.RunModuleInitializers(assemblies);

 

4、新建一个Controller通过构造方法来调用,并将我们需要的类库添加依赖到Controller

5、 运行后的结果为

二、ASP.net Core中的内存缓存

1、启用:builder.Services.AddMemoryCache()

2、注入IMemoryCache接口,查看接口的方法:TryGetValue、Remove、Set、GetOrCreate、GetOrCreateAsync

3、用GetOrCreateAsync讲解(用起来比较方便,开始在缓存区里找,找不到会去数据源那获取,获取后返回给调用者并且会存在缓存区)

public async Task<book[]>  GetBooks()

{

logger.LogInformation("开始执行GetBooks");

var items=await memCache.GetOrCreateAsync("AllBooks",async(e)=>

{

Iogger.LogInformation("从数据库中读取数据")

return await dbCtx.Books.ToArrayAsync();

});

Iogger.LogInformation("把数据返回给调用者");

return items;

}

代码如下(未启用缓存的)

 

 

运行后结果如下

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值