Feb 3 03:29
@Grundy , у меня не столь много опыта, но на нескольких фирмах на протяжении последних лет использовалась одна и та же методика. Суть её в том, что из пула берётся соединение, выполняются все необходимые операции и кладётся обратно в пул. Это может быть какой-неть флов на один запрос. К примеру, если вы перед удалением данных хотите проверить их наличие в БД, вы не будете делать это в другом контексте, а можете это выполнить сразу в текущем без затратных операцих на создание объектов
Jan 27 13:53
@Grundy я знаю отличие между ними, просто никогда не использовал DbContext как transient
Jan 27 13:31
@Grundy, если я не ошибаюсь, регистрировать DbContext нужно как Scoped, что бы не было параллельных обращений к контексту. Возможно ошибаюсь, но такой подход у меня всегда работал безотказно на моей практике. А саму ошибку, как уже уточнил, решил немного переписав последовательность вызовов
Jan 27 13:31
@CrazyElf, да, прошу прощения, что не смог предоставить полную информацию в самом вопросе. Сама ошибка возникала внутри shoppingCartService во время обработки данных и других операций. На весь проект используется один контекст, который зарегистрирован как Scoped. При выполнении операции внутри shoppingCartService, вызывался другой сервис, который так же зависим от DbContext
Jan 27 13:31
@Grundy, кажется я нашёл причину ошибки, за что я вам очень благодарен (надеюсь код будет нормально отображаться: Guid user = currentUserContext.UserGuid; var cartResponse = shoppingCartService.AddToCart(user, cartItemVm); ServiceResponse wishlistResponse = await wishlistService.Add(user, model.MeasureId); return await cartResponse.ToActionResult(); Суть в том, что кто-то додумался получать не результат работы сервиса, а Task'у, параллельно вызвав второй сервис. Можете написать ответом с рекомендацией так же присматриваться к DI конфигу, я отмечу решением. Ещё раз спасибо
Jan 27 13:31
@Grundy, я более чем уверен, что второй вариант является причиной ошибки. Почему не первый вариант? Потому что конфигу давно уже никто не трогал и она отрабатывала всегда отлично (по истории гита не вижу изменений). И я хотел бы каким-то образом отследить, откуда такое может произойти. Это как-то возможно сделать, или всё же прийдётся всё вручную пересматривать (очень комплексный запрос, может уйти много времени)
Jan 27 13:31
@Grundy, да, DbContext зарегистрирован в DI и до этого работал отлично без подобных ошибок. UPD: все зависимости зарегистрированы, включая контекст и вызывающий его сервис. Возможно я ошибся с тем, где именно искать причину? Я думаю, что ошибка возникает из-за параллельной попытки доступа к DbContext и отсутствии await в одном из мест во время выполнения запроса. Или я ошибаюсь?
Jan 27 13:31
@Grundy, на сколько я понимаю, ошибка связанна с тем, что где-то был пропущен await кем-то из коллег. Нужно отследить где именно он был пропущен, но я не понимаю как именно. DbContext создаётся через DI внутри сервиса где вызывается нужным метод. Но во время выполнения этого метода возникает выше указанная ошибка
 
Dec 6, 2024 00:52
@FoxFox, спасибо за инструкцию, попробую
Dec 6, 2024 00:52
@FoxFox, с добавленного, первое видео - youtube.com/watch?v=StZcUAPRRac, второе - youtube.com/watch?v=NeQM1c-XCDc
Dec 6, 2024 00:52
@arhat, можно ли как-то по стандарту сделать так, что бы YouTube проигрывал видео этим кодеком?
Dec 6, 2024 00:52
@arhat, я обновил вопрос и добавил туда скриншоты с видимыми артефактами и информацией для сисадминов
Dec 6, 2024 00:52
@avp, сам по себе ноутбук достаточно инвалидный, он греется на 80 градусов в простое, да, есть такое. Но прямой связи с тем, что видео на YouTube так работают не нашёл. Я думал, что хотя бы в играх будет что-то подобное или на других сайтах, но такие не встречается вообще нигде кроме самого YouTube
Dec 6, 2024 00:52
@FoxFox, странный вопрос у вас. Винда 10, не купленная. На чём производится просмотр видео на ноутбуке? Наверное на домофоне...
Dec 6, 2024 00:52
@FoxFox, ссылку на какой ролик вам дать? Я же написал, что все видео, абсолютно все, покрываются артефактами. Ссылка на источник видео - youtube.com
Dec 6, 2024 00:52
@avp, во всех браузерах только на YouTube. От приложений не зависит. От включенного/выключенного vpn так же. Абсолютно весь контент покрывается указанными иероглифами, видео, трансляции либо записи трансляций. От размера окна браузера так же не зависит
 
Oct 11, 2024 09:32
@CrazyElf, тут да, но вы, вроде бы, как опытный разработчик должны понимать, что такое не везде и не всегда бывает. Когда закинуть в foreach var не проблема, проблема когда у тебя сервис на 4к строк и там нет ни единого строгого типа
Oct 11, 2024 09:32
@АлексейШиманский, ну так зачем правила придумали? Зачем типы придумали? Что бы может головой думать, или отнекиваться и спирать всё на "ну мне так ведите ли проще писать 🤷‍♂️". Тут речь идёт не о руках, а о том, что на проекте индусы могут сидеть и писать такие вещи на которые смотреть страшно. Я так понял, опираясь на ваше высказывание, вы участник команды разработки языка Microsoft? У меня просто нет других предположение, почему с вашими высказываниями вы ещё не достигли всего на свете и "спешного успеха"
Oct 11, 2024 09:32
@CrazyElf, если вы себе работаете сам один, то можете хоть object'ами писать, всем всё равно (Сам одному). Моё мнение, что таких вообще нужно с работы увольнять и на проекты даже на фрилансе не брать, потому что насрать в общую миску всей команды плохая практика
Oct 11, 2024 09:32
@АлексейШиманский, динамическая типизация убьёт ваш проект. Даже в том же JS для нормальных людей придумали TypeScript, потому что ошибок много с этим вашей "динамической типизацией". Как вы вообще думать собираетесь когда проект делаете? У вас тут вот переменная тип строки в "Hello world" внутри, а потом вы туда Стартап проекта закинули и вызвали билд.
Oct 11, 2024 09:32
@CrazyElf, как вы можете обработать коллекцию, если вам всё равно, какие там элементы? Вы случайно не индус? Как можно писать нормальный код не углубляясь в подробности? А если у вас процедура изменилась, или кто-то из коллег сервис изменил, или модель поменял? Как вы вообще можете её как-то обработать, если вы толком не понимаете, что внутри? А если это 2/3 этажный дженерик? Как я, который пытаюсь с этим разобраться, должен это понимать?
Oct 11, 2024 09:32
@OwDafuq, различная аудитория. Я хотел бы увидеть больше мнений по этому поводу