Чат работает по локальной сети или по глобальной тоже?
@SergeiCalabonga Жыл бұрын
Потшлоюпльной тоже
@StuiChannel3 жыл бұрын
Как всегда на высоте! Даже добавить нечего) Сам в курсовом проекте на wpf писал, но это было лениво, а вы за один день такой объем работы сделали :D Тоже по вашим урокам прокинул Identity на Wpf форму с подключённой Mongo DB, и самое смешное, что благодаря своему другу и его извратным идеям, мы смогли добиться превращения из не реляционной бд в реляционную xD Реализовали каскадное удаление, пусть из г*вна и палок, но мы сделали это))) Однозначно лайк, идея как для курсового проекта годная, а я и дальше буду стараться комментами продвигать)
@SergeiCalabonga3 жыл бұрын
Спасибо большущее!!!
@sagamoreBel3 жыл бұрын
Не, сигнал р не интересно. Даёшь раббит МК через какую-нибудь библиотеку!
@SergeiCalabonga3 жыл бұрын
Masstransit?
@AlexanderShumakov3 жыл бұрын
Хоть и давно работал с WPF, но разве ObservableCollection сам не нотифицирует контрол о своем изменении? Как раз такое пересоздавание объекта коллекции нужно было для простых List и дальнейшая нотификация.
@SergeiCalabonga3 жыл бұрын
Именно поэтому я его и использовал, чтобы он автоматически обновлял UI (INotifyPropertyChanged в действии)
@AlexanderShumakov3 жыл бұрын
@@SergeiCalabonga так он нотифицирует контроля о своем изменении. Т.е. вместо Users = new ObservableCollection() , сделать Users.Clear(). То же и с добавлением вызвать Users.Add()
@SergeiCalabonga3 жыл бұрын
@@AlexanderShumakov Он уведомляет об изменении коллекции, это накладная по ресурсам операция, потому что каждую строку нужно "отрисовать" на форме. Я же просто создаю новую, для моей цели этого достаточно.
@AlexanderShumakov3 жыл бұрын
@@SergeiCalabonga Тогда для уменьшения накладных расходов можно брать List или даже string[].
@SergeiCalabonga3 жыл бұрын
Да, можно, но работать не будет. UI не будет обновляться?
@Saveaaa2 жыл бұрын
Как будет строится архитектура если помимо общего чата нужно ещё писать в личные сообщения? Типо делать таблицу где будут id чата, название чата и прочее. И те у кого есть id этого чата его видят? А в другой таблицу тупо id чата и сообщение ?
@SergeiCalabonga2 жыл бұрын
Ну, "типо" того 🙃
@Saveaaa2 жыл бұрын
@@SergeiCalabonga спс. Сразу стало "понятно" как сделать личные сообщения
@SergeiCalabonga2 жыл бұрын
@@Saveaaa какой вопрос - такой ответ 🙃
@semen0833 жыл бұрын
Authorization Flow на видео выглядит так WPFClient(посылает креды)=>IdentityServer(получение токена)=>SignalRApi(обращение к SignalRApi c полученным от IdentityServer токеном). Разве не так должно быть (с точки зрения безопасности аутентификации): WPFClient(посылает креды)=>SignalRApi()=>IdentityServer(SignalRApi проксирует полученные от WPFClient креды на IdentityServer, который определяет, имеет ли пользователь WPFClient полномочия для пользования SignalRApi). К сожалению не помню, как называется приведенный во втором случае Authorization Flow.
@SergeiCalabonga3 жыл бұрын
На видео показано только получение токена. Authorizatiion Flow Code работает по-другому. Правильная реализация для WPF - это Authorization Flow Code + PKCE, то есть по образу и подобию как JavaScript клиенте. Но возможны и другие варианты. Всё зависит от того, на сколько вы готовы к реализации или получится ли у вас найти уже готовые. Я обычно просто получаю токен и авторизую пользователя на основе его присутствия и валидности (не истёк).