小编Joe*_*ord的帖子

依赖注入:ASP vNext.这是怎么回事?

因此,在我基于CQRS的错误跟踪Web-API中,我在进行和实施单元测试之前重构了我的代码(诚然,应该首先考虑); 我有这个类和构造函数:

public class BugCommandHandler : IBugCommandHandler
{
    private BugContext db;

    public BugCommandHandler(BugContext bugContext)
    {
        db = bugContext;
    }

    //Interface implementation
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有这个:

public class BugsController : Controller
{
    private IBugCommandHandler commandHandler;
    private BugContext db;

    public BugsController(BugContext bugContext, IBugCommandHandler bugCommandHandler)
    {
        db = bugContext;
        commandHandler = bugCommandHandler;
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,在我的Startup类中,我已经注入了依赖项

services.AddSingleton<IBugCommandHandler, BugCommandHandler>();
Run Code Online (Sandbox Code Playgroud)

我的单元测试和手动集成测试都工作正常,因为我在没有DI时手动调用它. 现在

如何BugCommandHandler实现如何在构造函数中使用数据库上下文调用(幕后"魔术")?它实现这一目标的过程是什么?

我已经签出(不喜欢那个)一些在GitHub库的源代码,但不能真正找到这个地方可能会发生.
我可能会忽略一些关键的东西,或者它可能只是被隐藏得很好,因为它仍处于预发布状态.

c# entity-framework dependency-injection cqrs asp.net-core

4
推荐指数
1
解决办法
577
查看次数