Max-GopheR
@Max-GopheR
Web разработчик

C# + MySql + оповещение пользователей о новых записях в базе. Куда смотреть?

Доброго времени суток. Появилась задача написать приложение для десктопа, где будет отображаться список записей хранящиеся в базе данных MySql (с данной базой работает CRM).
На данный момент изучаю C# и уже ознакомился с принципами работы с MySql. Следующий шаг - .NET. Но пока не понимаю как реализовать постоянный мониторинг записей и при появлении новых записей уведомлять пользователей.
Так же пока не понятно как интегрировать приложение в ос (речь о Windows) в виде сервиса (ну или сворачивать в трей) и для уведомлений использовать системные сообщения (Win10) или всплывашку в правом нижнем углу, если это не Win 10.
Подскажите в какую сторону смотреть. Может кто сталкивался с таким, то какие подводные камни?
В силу неопытности в области программирования под десктопы, могу неправильно что-то понимать или предполагать (например пока не понимаю как лучше реализовывать - сервисом или обычным приложением свернутым в трей). Поэтому чуть подробнее распишу проблемы которые должно решать приложение:
1) Авторизация пользователей. Работа с приложением не возможна без авторизации. (Регистрация пользователей реализована в CRM).
2) Получение списка записей. Если была добавлена через CRM, то в приложении список должен обновиться автоматически и отобразиться уведомление. (В последствии будет переработано на оповещение групп пользователей).
3) Добавление записей.
4) Редактирование записей.
Ну и еще стоит сказать что в CRM я пока не реализовывал API и все необходимые вычисления при добавлении записи будут производиться пока силами приложения, ну и как следствие прямая запись данных в базу. Понимаю что для этого придется базу выкинуть наружу, что создает доп уязвимость, но это временное решение. Сделал это намеренно, что бы изучить C#. В последствии напишу API и перепишу приложение под работу с API.
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
1. Предлагаю сразу начать реализовывать серверное API или серверную часть. пока нимальный набор методов, необходимых дял декстоп приложения
2. Обычно схема с получением уведомлений делается так:
- ваша CRM должна уметь слать веб-хуки на событие "Добавлен Новый Пользователь", адрес указываете уже вашего серверного метода API
- событие уже обрабатывается в APIшке и тут могут варианты доставки на приложение
-- или приложение соединяется по сокету, постоянное соединение (это если пользователей мало)
-- или ваше десктоп приложение будет переодически, раз в 5 сек, например, опрашивать APIшку на предмет новых событий (это если пользователей много)

про вебхуки, сокеты можно почитать в гугле. там ничего супер сложного нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы