170 похожих чатов

Народ, есть тупой вопрос. У меня, допустим, есть WeakReference на

ValueType. Вопрос: isAlive даёт же мне гарантию, что если isAlive == true, то гарантированно метод, в котором эта переменная объявлена, ещё не завершился?
Далее второй вопрос тупее первого: есть ли какие более "гарантированные" методы определения, что какой-то конкретный метод уже отработал, кроме как создание WeakReference на локальную переменную в методе с дальнейшей проверкой isAlive?

20 ответов

11 просмотров

Коллбэкы, bool флаг

Dmitriy-Bobrovskiy Автор вопроса
Phantom
Коллбэкы, bool флаг

Ну, коллбэк как я зарегаю на завершение метода?

а в WR положить переменную зато есть возможность?

Dmitriy-Bobrovskiy Автор вопроса
Критерий Вычисλимости
а в WR положить переменную зато есть возможность?

Да, т.к. регать повезде коллбэки не всегда удобно. А сделать out int myVar куда проще.

Как ты взял викреф на value type?

По второму вопросу: имхо, ты делаешь какую-то муть. Опиши изначальную проблему.

Dmitriy-Bobrovskiy Автор вопроса
Dr. Friedrich von Never
По второму вопросу: имхо, ты делаешь какую-то муть...

Дядь, смотри. Я хотел сделать генерацию DbContext в своём скоупе без использования using с new или IServiceScopeFactory для резолва скоупа, а в нём - контекста. Точнее, так: я хочу иметь возможность запускать параллельно несколько запросов к одному контексту (например, UserDbContext). Для этого придётся каждый из них создавать в своём scope. Вот мы и подошли к тому, что мне нужно иметь возможность сделать как-то типа такого await userDbContextProxy.Resolve(out token).Users.Where(...)...

Dmitriy Bobrovskiy
Дядь, смотри. Я хотел сделать генерацию DbContext ...

а не проще скоупы создавать? Звучит как неподдерживаемая дичь

Dmitriy-Bobrovskiy Автор вопроса
βλαδιμιρ
а не проще скоупы создавать? Звучит как неподдержи...

Я и хочу это делать, но хитрее. Собственно, я де-факто это и хотел делать.

Dmitriy Bobrovskiy
Дядь, смотри. Я хотел сделать генерацию DbContext ...

Звучит как какая-то слабо нужная хрень и попытка сэкономить на спичках, которая потом выльется в бОльшие затраты человековремени чем сэкономит сейчас. Но можете сделать сервис, который будет смотреть в AsyncLocal на предмет наличия контекста. Если есть - отдаёт созданный/зарезолвенный. Если нет - создаёт/резолвит, сохраняет в AsyncLocal и отдаёт. Я понятия, правда, не имею как именно вы будете их создавать и диспоузить потом (диспоуз вместе с сервисом, может быть?)

Dmitriy-Bobrovskiy Автор вопроса
SomebodyOdd
Звучит как какая-то слабо нужная хрень и попытка с...

Я хотел создать условную проксю, которая резолвит контекст каждый раз.

Dmitriy Bobrovskiy
Дядь, смотри. Я хотел сделать генерацию DbContext ...

Я думаю, что примерно понял, что ты хочешь, но деталей всё ещё не понял. Мб покажешь какой-то кусочек кода?

Dmitriy-Bobrovskiy Автор вопроса
Dr. Friedrich von Never
А если его просто добавить как Transient?

Ну, дядь, вроде MS не рекомендует менять service lifetime для DbContext со scoped.))) Кусочек кода через шарплаб попробую накидать, скинуть. Правда, чур за такой код потом ссанными тряпками из чата не гнать за профнепригодность.😂 А с интрузивным списком не совсем понимаю, как его свойства можно юзать?🧐

Dmitriy Bobrovskiy
Ну, дядь, вроде MS не рекомендует менять service l...

Дак ну ты уже пошёл поперёк этих рекомендаций, когда захотел, чтоб у него был другой лайфтайм 🤷‍♂️

Dmitriy Bobrovskiy
Ну, дядь, вроде MS не рекомендует менять service l...

Я все ещё не понял в чем проблема создавать скоп

Dmitriy-Bobrovskiy Автор вопроса
Dr. Friedrich von Never
Дак ну ты уже пошёл поперёк этих рекомендаций, ког...

Так я не хочу лайфтайм менять, я хочу иметь возможность создать любое количество контекстов без тупого var newScope = serviceScopeFactory.CreateScope(); var newContext = newScope.ServiceProvider.GetRequiredService<MyDbContext>();

Dmitriy Bobrovskiy
Так я не хочу лайфтайм менять, я хочу иметь возмож...

«создать любое количество контекстов» — это и есть «поменять лайфтайм» :)

Похожие вопросы

Обсуждают сегодня

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
18
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта