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

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

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

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

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

0 ответов

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

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

Другие вопросы по тегам