c# - 用于非 Web 项目的 Ninject InRequestScope
问题描述
我的应用程序是一个从队列中读取并处理消息的微服务。它没有 WebAPI 组件。
每条消息都必须有它自己的一组具体实例,由 DI 设置配置。例如,Dbcontext 是每条消息,但应用程序可能在不同的任务上同时处理多条消息,因此每条消息必须有不同的 DbContext。
消息解析器为每条消息创建一个新的 Ninject 块,并异步调用它,如下所示:
using (var block = _kernel.BeginBlock())
{
var processorInstance = block.Get(processor.MessageProcessorType);
await processor.CallMessageProcessorAsync(processorInstance, messageBodyBase)
.ConfigureAwait(false);
}
如何配置 Ninject 以提供“范围”对象实例?我意识到有一个名为InRequestScope
但用于 WebApi 项目的包,而我的不是。
解决方案
推荐阅读
- java - 如何将大型 JTS 多边形拆分为多个 1 公里乘 1 公里的几何图形?
- c# - 通过 C# 将 Excel 导入 Hadoop
- python - 你如何在 Python 中组合多个字典的列表?
- python - 如何使用 Python 获取 MongoDB 中特定键的值
- python - 尝试复制 Python 结果时出现 Keras 错误
- angular - Angular Service Worker 未在数据组数组中缓存 api
- python - Python3 - 关于同一属性的多次验证的说明
- wordpress - wordpress 用随机字符替换单引号
- c# - DatabaseGeneratedOption.None 作为外键
- c# - EF Core 2.1 在简单查询中使用两个 Include() 语句导致性能下降