Я собираюсь создать систему онлайн-поддержки клиентов для одного из сайтов нашей компании, и у меня было несколько запросов относительно структурирования.
Сценарий такой. Мы хотели бы, чтобы пользователи нашего сайта могли нажимать кнопку «Поддержка в чате», после чего они получали бы всплывающее окно, которое пытается связать их с одной из наших групп поддержки.
С другой стороны, наша служба поддержки будет использовать клиенты для настольных ПК. Каждый раз, когда пользователь на нашем сайте щелкает ссылку, все настольные клиенты «звонят». Каждый раз, когда член группы поддержки «отвечает» на звонок, другие клиенты прекращают звонить, и этот член начинает общаться с веб-пользователем.
Учитывая, что наш настольный клиент будет создан с использованием WPF в C # .NET, а наш сайт - ASP.NET MVC 2, - как лучше всего установить связь между ними?
Мои первоначальные мысли заключались в том, чтобы веб-сторона сохраняла чат в базе данных SQL и каким-то образом «отправляла эхо-запрос» соответствующему клиенту рабочего стола, сообщая ему обновить журнал чата. Аналогично для настольных компьютеров и Интернета. Но я не уверен, как реализовать это между двумя разными платформами. Если бы это был настольный клиент для настольного клиента, я думаю, это было бы намного проще, но это не так.
Кроме того, имейте в виду, что я понимаю, что уже существуют коммерческие приложения, которые делают это. Однако нам нужна некоторая индивидуальная функциональность, выходящая за рамки простого чата - не стоит вдаваться в подробности, но в основном мы должны реализовать собственное решение.
Любая помощь очень ценится.