SignalR Chat: Клиент чата на WPF

  Рет қаралды 2,892

Sergei Calabonga

Sergei Calabonga

Күн бұрын

Пікірлер: 20
@AkarumeiAkashi
@AkarumeiAkashi Жыл бұрын
Чат работает по локальной сети или по глобальной тоже?
@SergeiCalabonga
@SergeiCalabonga Жыл бұрын
Потшлоюпльной тоже
@StuiChannel
@StuiChannel 3 жыл бұрын
Как всегда на высоте! Даже добавить нечего) Сам в курсовом проекте на wpf писал, но это было лениво, а вы за один день такой объем работы сделали :D Тоже по вашим урокам прокинул Identity на Wpf форму с подключённой Mongo DB, и самое смешное, что благодаря своему другу и его извратным идеям, мы смогли добиться превращения из не реляционной бд в реляционную xD Реализовали каскадное удаление, пусть из г*вна и палок, но мы сделали это))) Однозначно лайк, идея как для курсового проекта годная, а я и дальше буду стараться комментами продвигать)
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
Спасибо большущее!!!
@sagamoreBel
@sagamoreBel 3 жыл бұрын
Не, сигнал р не интересно. Даёшь раббит МК через какую-нибудь библиотеку!
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
Masstransit?
@AlexanderShumakov
@AlexanderShumakov 3 жыл бұрын
Хоть и давно работал с WPF, но разве ObservableCollection сам не нотифицирует контрол о своем изменении? Как раз такое пересоздавание объекта коллекции нужно было для простых List и дальнейшая нотификация.
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
Именно поэтому я его и использовал, чтобы он автоматически обновлял UI (INotifyPropertyChanged в действии)
@AlexanderShumakov
@AlexanderShumakov 3 жыл бұрын
@@SergeiCalabonga так он нотифицирует контроля о своем изменении. Т.е. вместо Users = new ObservableCollection() , сделать Users.Clear(). То же и с добавлением вызвать Users.Add()
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
@@AlexanderShumakov Он уведомляет об изменении коллекции, это накладная по ресурсам операция, потому что каждую строку нужно "отрисовать" на форме. Я же просто создаю новую, для моей цели этого достаточно.
@AlexanderShumakov
@AlexanderShumakov 3 жыл бұрын
@@SergeiCalabonga Тогда для уменьшения накладных расходов можно брать List или даже string[].
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
Да, можно, но работать не будет. UI не будет обновляться?
@Saveaaa
@Saveaaa 2 жыл бұрын
Как будет строится архитектура если помимо общего чата нужно ещё писать в личные сообщения? Типо делать таблицу где будут id чата, название чата и прочее. И те у кого есть id этого чата его видят? А в другой таблицу тупо id чата и сообщение ?
@SergeiCalabonga
@SergeiCalabonga 2 жыл бұрын
Ну, "типо" того 🙃
@Saveaaa
@Saveaaa 2 жыл бұрын
@@SergeiCalabonga спс. Сразу стало "понятно" как сделать личные сообщения
@SergeiCalabonga
@SergeiCalabonga 2 жыл бұрын
@@Saveaaa какой вопрос - такой ответ 🙃
@semen083
@semen083 3 жыл бұрын
Authorization Flow на видео выглядит так WPFClient(посылает креды)=>IdentityServer(получение токена)=>SignalRApi(обращение к SignalRApi c полученным от IdentityServer токеном). Разве не так должно быть (с точки зрения безопасности аутентификации): WPFClient(посылает креды)=>SignalRApi()=>IdentityServer(SignalRApi проксирует полученные от WPFClient креды на IdentityServer, который определяет, имеет ли пользователь WPFClient полномочия для пользования SignalRApi). К сожалению не помню, как называется приведенный во втором случае Authorization Flow.
@SergeiCalabonga
@SergeiCalabonga 3 жыл бұрын
На видео показано только получение токена. Authorizatiion Flow Code работает по-другому. Правильная реализация для WPF - это Authorization Flow Code + PKCE, то есть по образу и подобию как JavaScript клиенте. Но возможны и другие варианты. Всё зависит от того, на сколько вы готовы к реализации или получится ли у вас найти уже готовые. Я обычно просто получаю токен и авторизую пользователя на основе его присутствия и валидности (не истёк).
Nimble: Создание микросервиса
31:30
Sergei Calabonga
Рет қаралды 1 М.
Иван Патудин - gRPC и его реализация в .NET Core
1:12:57
DotNext — конференция для .NET‑разработчиков
Рет қаралды 10 М.
БЕЛКА СЬЕЛА КОТЕНКА?#cat
00:13
Лайки Like
Рет қаралды 2,8 МЛН
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 2,8 МЛН
Inside Out 2: ENVY & DISGUST STOLE JOY's DRINKS!!
00:32
AnythingAlexia
Рет қаралды 13 МЛН
How To Get Married:   #short
00:22
Jin and Hattie
Рет қаралды 24 МЛН
How To Create a Chat App and Server Tutorial WPF C#
55:29
Payload
Рет қаралды 67 М.
Введение в РЕВЕРС-ИНЖИНИРИНГ для начинающих
1:57:46
Студенческие клубы разработки СГУ
Рет қаралды 627
Building Real-Time Applications With SignalR & .NET 7
12:22
Milan Jovanović
Рет қаралды 87 М.
Adding JWT Authentication & Authorization in ASP.NET Core
17:24
Nick Chapsas
Рет қаралды 214 М.
SignalR in ASP.NET and C# - Building real-time functionalities
10:30
tutorialsEU - C#
Рет қаралды 32 М.
FAQ 52 по программированию
29:29
Sergei Calabonga
Рет қаралды 293
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 48 М.
БЕЛКА СЬЕЛА КОТЕНКА?#cat
00:13
Лайки Like
Рет қаралды 2,8 МЛН