Завершение соединений с снежинками при использовании HotchocolateC#

Место общения программистов C#
Ответить
Anonymous
 Завершение соединений с снежинками при использовании Hotchocolate

Сообщение Anonymous »

У меня есть API .NET 8 с использованием хоткоколата (V12), EFCORE (V8) и Snowflake (V2). Я пытаюсь обновить свои версии снежинки и хоткоколата до хоткоколата 15 и Snowflake 4. Похоже, что из -за изменений в снежинок V4 в подключение, объединяющая природу, мои соединения больше не отсоединяются. Это заставляет приложение повесить даже после завершения всех запросов. Я предполагаю, что утечка подключения заключается в том, что контекст DB вводится в код на уровне запроса хоткоколата, и в резиновых резоляторах нет ничего, что утилизирует или закрывает соединение. Однако я понятия не имею, как заставить это работать. [UseProjection]
[UseFiltering]
[UseSorting]
public IQueryable
GetPerson(
snowflake_stageContext db,
[GraphQLNonNullType] string name
)
{
return db.People.Where(p => p.Name == name);
}

< /code>
Различные конфигурации запуска, которые я пробовал (как индивидуально, так и в комбинациях): < /p>
services.AddDbContext(
contextLifetime: ServiceLifetime.Scoped,
optionsLifetime: ServiceLifetime.Scoped
);

< /code>
services.AddDbContextFactory(options => {}, ServiceLifetime.Scoped);
< /code>
services.AddGraphQLServer()
.RegisterDbContextFactory()
< /code>
I have also tried just injecting the db factory manually, creating an instance of the db context and then disposing of it in the query but of-course that causes the reference to not work in the later resolvers. I also do not want to materialize the data at the query level as that would be before the projection/filter is applied and would cause over fetching.
The only thing that I have found that does work is to manually call
SnowflakeDbConnectionPool.ClearAllPools();
< /code>
But this is generally considered a bad process and I'm not sure what it will do with requests that are on going when it is called.

Подробнее здесь: https://stackoverflow.com/questions/797 ... tchocolate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»