【问题标题】:Different DI scope for controller and queries in graphql-dotnet?graphql-dotnet 中控制器和查询的不同 DI 范围?
【发布时间】:2018-11-09 17:37:11
【问题描述】:

我正在尝试实现一个 grahql-dotnet API。当我尝试将作用域对象传递给我的控制器并将同一个对象传递给使用 dotnet 核心依赖注入的查询所使用的某些服务时,我遇到了一些奇怪的行为。

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

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

提前致谢

【问题讨论】:

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


    【解决方案1】:

    在 Schema 初始化时,每个模式只创建一次 GraphTypes。因此,您的 GraphTypes 的任何依赖项也仅在每个模式中创建一次。由于初始化的成本,目前最好将 Schema 保留为单例,因此您的所有 GraphTypes 及其依赖项在查询执行方面也是有效的单例。

    在撰写本文时,有一个 open issue 来调查在每次执行的基础上解决依赖关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 2021-06-24
      • 2014-03-31
      • 2015-10-12
      相关资源
      最近更新 更多