Различная область DI для контроллера и запросов в graphql-dotnet? - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь реализовать API grahql-dotnet. Я сталкиваюсь с каким-то странным поведением, когда пытаюсь передать объект с заданной областью в мой контроллер и тот же объект в некоторые из моих служб, используемых запросами, использующими внедрение зависимостей ядра dotnet.

Кажется, что другая область DI используется, когда DI создает экземпляр контроллера и когда он создает объекты, используемые запросами, потому что в этом случае передаются два отдельных объекта.

Это ожидаемое поведение или этого можно избежать? Я выполняю все те же основные проводки для контроллера и запросов, что и проект Star Wars.

Заранее спасибо

1 Ответ

0 голосов
/ 13 апреля 2019

GraphTypes создаются только один раз для каждой схемы, когда схема инициализируется. Таким образом, любые зависимости ваших GraphTypes также создаются только один раз для каждой схемы. Схему лучше всего оставить как одиночную на данный момент из-за затрат на инициализацию, поэтому все ваши GraphTypes и их зависимости также фактически являются одиночными в отношении выполнения запросов.

На момент написания статьи существует открытая проблема для исследования разрешения зависимостей для каждого выполнения.

...