【发布时间】:2018-07-12 02:24:13
【问题描述】:
我想从我的 c# 中运行一些节点代码。 Microsoft.AspNetCore.NodeServices 似乎是完成这项工作的方法,但是示例都非常相似,都涉及放置
services.AddNodeServices();
在配置服务函数中,然后 DI 将 INodeServices 的实现添加到控制器中。像这样
public class foo
{
private readonly INodeServices _nodeServices;
public foo(INodeServices nodeServices)
{
_nodeServices = nodeServices;
}
}
当我在类库而不是 webapi 中使用它时,DI 将如何工作?另外我如何从单元测试中调用类,我可以将什么传递给构造函数?我确定我遗漏了一些明显的东西。
【问题讨论】:
-
ASP.NET Core 中内置的 DI 容器不是 ASP.NET Core 的一部分。您可以通过引用 NuGet 包 Microsoft.Extensions.DependencyInjection 来使用它
-
可以自己搭建对象图,搭建服务提供者。参考上一条评论中建议的库并查看此站点以获取有关如何在 asp.net-core 之外的应用程序中使用它的示例。
标签: c# dependency-injection asp.net-core