Size: a a a

2021 April 25

RB

Roman Bukin in pro.net
Но тогда от порядка их добавления зависит пройдёт твоя проверка или нет (если ты скажем хочешь чекнуть что нужный сервис зарегали).
источник

Ɖ

Ɖrēw in pro.net
Ну тогда вернее будет сказать на старте приложения (ConfigureServices) и во время обработки запроса (Configure)
источник

RB

Roman Bukin in pro.net
Но опять же. Можно вместо настоящей реализации подсунуть заглушку чтобы обойти проверку, а потом следом пойти выпилить её из списка зарегистрированных сервисов.
источник

RB

Roman Bukin in pro.net
Это оно и есть
источник

RB

Roman Bukin in pro.net
В общем если хочешь Ъ проверок - в Configure их надо делать
источник

Ɖ

Ɖrēw in pro.net
В Configure можно достать IServiceProvider который 100% будет иметь все сервисы которые были зареганы, не важно, в каком порядке, поэтому .GetService с проверкой на налл позволит чекнуть наличие сервиса, но какой то кейс непонятный лично мне, просто читаемую ошибку нужно реализовать, мол, "чувак, зарегай"?
источник

Ɖ

Ɖrēw in pro.net
++
источник

RB

Roman Bukin in pro.net
За создание ServiceProvider внутри ConfigureServices - получаешь проклятие своего рода до 666 колена
источник

Ɖ

Ɖrēw in pro.net
+
источник

Ɖ

Ɖrēw in pro.net
Если так хочется, можно сделать экстеншн AddGiraModel который будет принимать Func<IServiceProvider, IYourService>
источник

Ɖ

Ɖrēw in pro.net
И резолвать эту зависимость через такую вот фабрику в любое время
источник

Ɖ

Ɖrēw in pro.net
Подсовывая уже собранный IServiceProvider
источник
2021 April 26

S

Stas in pro.net
Что-то у меня вопрос тут возник, если мы не учитываем контекст синхронизации, эвэйтим асинхронную операцию, поток уходит в пул потоков, а куда идёт его стэк вызовов? Он просто передаётся ссылкой потоку который будет продолжать работу после завершения асинхронной операции?
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in pro.net
Зарегистируй сам лучше, через try add
источник

G

Gtoressan in pro.net
Сам я не могу зарегистрировать, так как нужно подсунуть реализацию нужного контракта из вне
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in pro.net
Ну посмотри как решили проблему с дбконтекстом в еф, например
источник

G

Gtoressan in pro.net
Я решил уйти от проверок и просто руками создаю класс. Мне ещё другая идея пришла в голову, утром покажу
источник

β🎀

βλαδιμιρ 🎀 🌎🔫... in pro.net
Ну если есть возможность сделать так, чтобы у пользователя не получилось неправильно зарегистрировать твою зависимость, то лучше эту возможность использовать.
источник

G

Gtoressan in pro.net
Да, но тогда пишется код вида new GitHubDataSource(new GitHubFacade(Configuration["Pem"])) и отдаётся в AddGiraModel, вот эти классы руками создавать не хотелось бы
источник

r

rdcm in pro.net
Частично получилось, с mingw смог собрать билд в ubuntu под винду. С macos сложнее, не смог найти тулчейн с понятным для использования описанием.

Вообще есть какой-то проверенный инструмент для билда под macos?


Нашёл вот такой:

https://github.com/tpoechtrager/osxcross

Но пока не могу его настроить.
источник