C# + MySql + оповещение пользователей о новых записях в базе. Куда смотреть?
Доброго времени суток. Появилась задача написать приложение для десктопа, где будет отображаться список записей хранящиеся в базе данных MySql (с данной базой работает CRM).
На данный момент изучаю C# и уже ознакомился с принципами работы с MySql. Следующий шаг - .NET. Но пока не понимаю как реализовать постоянный мониторинг записей и при появлении новых записей уведомлять пользователей.
Так же пока не понятно как интегрировать приложение в ос (речь о Windows) в виде сервиса (ну или сворачивать в трей) и для уведомлений использовать системные сообщения (Win10) или всплывашку в правом нижнем углу, если это не Win 10.
Подскажите в какую сторону смотреть. Может кто сталкивался с таким, то какие подводные камни?
В силу неопытности в области программирования под десктопы, могу неправильно что-то понимать или предполагать (например пока не понимаю как лучше реализовывать - сервисом или обычным приложением свернутым в трей). Поэтому чуть подробнее распишу проблемы которые должно решать приложение:
1) Авторизация пользователей. Работа с приложением не возможна без авторизации. (Регистрация пользователей реализована в CRM).
2) Получение списка записей. Если была добавлена через CRM, то в приложении список должен обновиться автоматически и отобразиться уведомление. (В последствии будет переработано на оповещение групп пользователей).
3) Добавление записей.
4) Редактирование записей.
Ну и еще стоит сказать что в CRM я пока не реализовывал API и все необходимые вычисления при добавлении записи будут производиться пока силами приложения, ну и как следствие прямая запись данных в базу. Понимаю что для этого придется базу выкинуть наружу, что создает доп уязвимость, но это временное решение. Сделал это намеренно, что бы изучить C#. В последствии напишу API и перепишу приложение под работу с API.
sim3x, на данный момент не ясно:
1) как заставить приложение постоянно мониторить новые записи
2) как реализовывать службы под виндовс
3) как использовать системные уведомления в виндовс 10 или если более ранняя версия, то как реализовать уведомление
4) как реализовать сворасивание в трей
5) для чего тогда нужны подобные сервисы, если на них опытные ребята отправляют в Гугл где полно шлака? Ведь я прошу не написать за меня, а посоветовать и дать ссылки на информацию по вопросам описанных в посте.
Максим Литвинов,
2. Перед тем как задать вопрос пользователь Сервиса обязан:
2.2 Убедиться в том, что в сети Интернет, и на страницах Сервиса в частности, отсутствуют ответы на данный вопрос. Специально для этого талантливые IT-специалисты создали и развивают поисковые системы Яндекс и Google
sim3x, Да, господи! Специально для вас еще раз напишу: на просторах интернета полно шлака, который мне может не подойти, поэтому и спрашиваю у людей!
Если вы считаете что мои действия нарушают правила сервиса - жалуйтесь! Не забудьте посмотреть дату регистрации и количество заданых вопросов!)))
И если Вы не можете ничего сказать по теме, то не пишите! В кое то веке решил посоветоваться и то приклепались!)
1. Предлагаю сразу начать реализовывать серверное API или серверную часть. пока нимальный набор методов, необходимых дял декстоп приложения
2. Обычно схема с получением уведомлений делается так:
- ваша CRM должна уметь слать веб-хуки на событие "Добавлен Новый Пользователь", адрес указываете уже вашего серверного метода API
- событие уже обрабатывается в APIшке и тут могут варианты доставки на приложение
-- или приложение соединяется по сокету, постоянное соединение (это если пользователей мало)
-- или ваше десктоп приложение будет переодически, раз в 5 сек, например, опрашивать APIшку на предмет новых событий (это если пользователей много)
про вебхуки, сокеты можно почитать в гугле. там ничего супер сложного нет.