我正在尝试实现一个grahql-dotnet API。当我试图使用dotnet核心依赖注入将一个限定了作用域的对象传递到我的控制器中,并将同一对象传递到查询使用的一些服务中时,我遇到了一些奇怪的行为。
当DI实例化控制器和实例化查询使用的对象时,似乎使用了不同的DI作用域,因为在这个实例中传递了两个独立的对象。
这是意料之中的行为,还是可以避免的?我正在为控制器和查询执行与星球大战项目相同的所有基本连接。
提前感谢
发布于 2019-04-14 03:28:21
在初始化架构时,每个架构只创建一次GraphTypes。因此,对于每个模式,GraphTypes的任何依赖项也只创建一次。由于初始化成本的原因,目前最好将模式保留为单例模式,因此在查询执行方面,您的所有GraphTypes及其依赖项实际上也是单例模式。
在编写本文时,已经有了一个open issue来调查每次执行时解决依赖关系的情况。
https://stackoverflow.com/questions/53230757
复制相似问题