Превышен max_user_connection_resource (текущее значение: 10) - PullRequest
0 голосов
/ 02 мая 2020

Я создал приложение .netcore и использую инъекцию зависимостей, чтобы внедрить dbcontext для использования. Я знаю, что эта ошибка типа показывает мне, потому что некоторый dbcontext не разрушил и достиг максимальных соединений db. Нужно ли мне вручную распоряжаться dbcontext, которые используют. Я видел, что при использовании инъекций зависимостей нам не нужно уничтожать их вручную, а они будут уничтожаться автоматически. Это правильно?

Другой вопрос заключается в том, что я использовал SingnalR и использовал Hub.Context для получения сведений о текущем пользователе для примера

var name = Context.User.Identity.Name; 

Созданный мной контекст

MainDbContext _bdcontext = new MainDbContext();

и я использую DP для ввода _dbcontext

Мне нужно знать, что это один и тот же Hub.context и _bdcontext и нужно ли мне вручную уничтожать Hub.context или эти Hub.context уничтожают вручную.

Мой третий вопрос: если пользователь закрывает браузер или inte rnet разрывает соединение с выделенным уничтожением dbcontext?

Мой четвертый вопрос: есть ли какой-либо инструмент или какой-либо способ проверить, не Разрушенные соединения dbcontext.

У меня есть общий доступ к файлу ChatHub, и я не могу найти, почему эта ошибка показывает

https://drive.google.com/open?id=172AScIz0h4kbol6W8hPyoebq9jocfzH2

1 Ответ

0 голосов
/ 02 мая 2020

Без полного, минимального, очень надежного примера трудно сказать, что вы делаете неправильно. Однако у меня есть одно правило по этому вопросу:

"Никогда не разделяйте создание и удаление одноразового ресурса. Создать. Использовать. Удалить. Все в одном куске кода, в идеале используя , используя заявление . "

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

...