在graphql-dotnet中,控制器和查询的DI范围不同吗?

时间:2018-11-09 17:37:11

标签: c# dependency-injection .net-core graphql-dotnet

我正在尝试实现grahql-dotnet API。当我尝试通过dotnet核心依赖注入将范围对象和控制器中的对象传递给我的某些服务时,我遇到了一些奇怪的行为。

当DI实例化控制器和实例化查询所使用的对象时,似乎使用了不同的DI范围,因为在此实例中传递了两个单独的对象。

这是预期的行为还是可以避免的事情?我正在为控制器和查询做所有与星际大战项目相同的基本接线。

预先感谢

1 个答案:

答案 0 :(得分:0)

在初始化架构时,每个架构仅创建一次GraphType。因此,每个架构也仅创建一次GraphTypes的任何依赖项。由于初始化的成本,现在最好将模式保留为单例,因此,在涉及查询执行的情况下,所有GraphType及其依赖项实际上也是单例。

在撰写本文时,有一个open issue会针对每个执行来研究解析依赖性。