Nikolay
Вообще, из-за чего это возникло, Фридрих предлагал использовать фабрику, как я понимаю как-то так: public class WriteService { public IDataFactory<DbContext> DataFactory { get; } public WriteService(IDataFactory<DbContext> dataFactory) { DataFactory = dataFactory; } public void CreateUser(User user) { using (var context = DataFactory.GetDataSource()) { ... } } } Так ок?
Просто не понятно, как жить, если нужно внутри этого же сервиса, вызвать какой-то метод, которому надо прокинуть контекст из CreateUser, разве что через приватную функцию, типа: private void ResetPassword(DbContext, int idUser) { } public void ResetPassword(int idUser) { using (var context = DataFactory.GetDataSource()) { ResetPassword(context, idUser); } }
Nikolay
Так как-то делать надо в идеале?
Vladislav
Сервисами надо
Nikolay
Зачем ты контекстами думаешь
Ну это внутрисервисные тёрки
Nikolay
Снаружи то оно выглядит без контекста
Vladislav
Ну это внутрисервисные тёрки
Тогда ридонли поле по di
Nikolay
В любом случае, помоему идея с DataFactory неплохая, по крайней мере, можно быть уверенным, что всё диспозится
Nikolay
А не надеятся на контейнер
Ayrat
https://azure.microsoft.com/en-us/services/data-factory/
Ayrat
Ayrat
аккуратнее с датафактори, она тебя съест
Nikolay
Ну вот, придумал датафактори, а майкрософт уже украли идею :(
Vladislav
Я все ещё не понял что за задача у тебя
Vladislav
Сделать чётенько
Ясно понятно
Roman
Сделать чётенько
Тогда зачем тебе тут ооп?
Roman
Все эти блядские сервисы, репозитории, дб контексты от лукавой идеи все на свете запихать в объекты
Vladislav
Типо
Nikolay
public static DbContext Датабаза { get; } = new DbContext();
Vladislav
Di
Vladislav
Все
Ayrat
Пацаны, тут майкрософт свои стримы написали https://github.com/Microsoft/trill с ебаным API на C#)
Ayrat
выглядит вырвиглазно как и DataFlow
Ayrat
там екзамплы есть
Ayrat
надо может навернуть поверх F# и юзать
Vasily
На первый взгляд выглядит не оч
Ayrat
там есть киллер фичи
Ayrat
персистенс (не ин мемори)
Ayrat
если нода отказывает, агрегация не прерывается
Ayrat
ну точнее ты там чекпоинты задавать можешь
Vasily
Ну надо читать
Ayrat
https://github.com/Microsoft/Trill/blob/master/Documentation/HighAvailability.pdf
Ayrat
фп на C# выглядит уёбищно, да
Ayrat
особенно когда дженерики кругом
Ayrat
можете накидать плюсов https://github.com/Microsoft/Trill/issues/21
Ayrat
может сделают
Ayrat
я б поюзал
Ayrat
Эта херота их инхаус разработка для стрим аналитики в ажуре
Ayrat
они её открыли миру
Ayrat
т.е. она давно в продакшне в хайлоаде крутится
Ayrat
поэтому она НЕ говно. А вот апи к ней на C# выглядит страшно
Ayrat
торчат уши датафлоу отовсюду, у меня прям флешбеки из вьетнама
Vasily
Ну ваще похоже, да
Ayrat
var container1 = new QueryContainer() var input1 = container1.RegisterInput(OnCompletedPolicy.EndOfStream()) var query = ... var output1 = container1.RegisterOutput(query1) императивненько
Ayrat
Это типа RX?
ну это тоже пуш стримы если ты об этом
Ayrat
Мне кажется лучше аккастримы вкурить
нууу... какие-то стримы вкурить для общего образования надо в любом случае, да. Дальше выбор по месту.
Ayrat
ну т.е. никаких пайплайнов, всё какими-то стейтментами делается. СОЗДАТЬ ИНПУТ ЗАРЕГИСТРИРОВАТЬ АУТПУТ ВЫПОЛНИТЬ ЗАПРОС ПОДОЖДАТЬ НА ОШИБКЕ ГОУ ТУ НАЧАЛО
Ayrat
поэтому я и говорю что датафлоу пахнуло
Vasily
@fvnever в райдере можно параметры командной строки для дебага указать?
Dr. Friedrich
@fvnever в райдере можно параметры командной строки для дебага указать?
Чтобы для дебага были отдельные, не такие же как для рана?
Vasily
Да вообще
Dr. Friedrich
Ну вообще можно
Vasily
Я просто с наскока не нашел
Vasily
Тогда вопрос
Vasily
ГДЕ
Dr. Friedrich
Щас покажу
Vasily
Я подозреваю, что через ж
Vasily
Но надеюсь, лезть надо не очень глубоко
Vasily
Ох, блять, запрятали
Vasily
Нашел
Dr. Friedrich
Vasily
Ну да
Vasily
Я просто привык по студии, что это в свойствах проекта
Vasily
А потом ВСПОМНИЛ
Dr. Friedrich
Ну вот run подсистема у нас сильно отличается от студии
Dr. Friedrich
Хотя с современными launch settings они накрутили ещё пуще и неочевиднее
Vasily
Ну согласен, да
Hog
Srtp?
да, когда inline и типы с крыжиками
Vladislav
Странно
Hog
Странно
да чо-то неохота было разбираться - передал 3 "лишних" \ примитивных
Romɑn
Romɑn
А в райдере это вся подсветка?
Hog
А в райдере это вся подсветка?
А ты все темы перепробовал?