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

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

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

20 ответов

27 просмотров

Коллбэкы, 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
Так я не хочу лайфтайм менять, я хочу иметь возмож...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта