Настольные Уведомления, иначе Внутренняя Система предупреждений

Стало очевидно это, где я работаю потребности, внутренне, "система уведомления". Так как проблема - это, мы очень распространены в течение нескольких зданий, и объем трудовых ресурсов регулярно сохраняет там электронную почту закрытой на часы за один раз.

Я должен создать простой способ смочь выставить сообщение и иметь его "всплывающее окно" на everyones компьютере (или одиночный компьютер).

Моя первая мысль состояла в том, чтобы записать сервис окон, который называет winform/wpf приложение, которое находится на каждом компьютере, который просто открывается с сообщением. Не уверенный, как жизнеспособный идея, которая является всего лишь этим, просто проводит мозговой штурм.

Другой маршрут, я думал, мог быть приложением, которое находится в systray на каждом компьютере, который опрашивает таблицу базы данных, и использование Уведомлений о Запросе могло открыться сообщение каждый раз, когда новая строка добавляется. Затем просто создайте безумно основное приложение для записи строки к той таблице.

Так, что я спрашиваю, то, если кто-либо еще обошел этот путь. Если так, как?

  • Какие вещи Вы учитывали?

  • Или моих идей допустимые начальные точки или "яйцо и моя поверхность в идеальном выравнивании"?

  • Существует ли другой путь, который еще более прост?

Спасибо


Некоторые простые требования-> Должны быть "Одним Путем", поскольку я не могу дать нашей базе пользователей систему "чата". Должен быть, несколько, скрыт, чтобы обескуражить пользователей, отключающих его. А-ля системный лоток или сервис.

5
задан Refracted Paladin 23 March 2010 в 13:05
поделиться

7 ответов

Разве net send не спасет вас от изобретения колеса?

2
ответ дан 14 December 2019 в 19:09
поделиться

Я делал что-то подобное давным-давно, чтобы координировать перекуры. Я просто отправил широковещательный пакет по локальной сети на определенный порт. Работал относительно хорошо, хотя, поскольку любой мог вести трансляцию и у всех появлялось всплывающее окно, этим часто злоупотребляли.

0
ответ дан 14 December 2019 в 19:09
поделиться

Я никогда не делал этого, но я работал в колл-центре, который использовал что-то подобное, и они безумно полезны. Я помню, как однажды все получили сообщение: «Кто-нибудь знает китайский? ПОМОГИТЕ МНЕ !!» Блестяще. (К счастью, кто-то это сделал.)

В любом случае ваши идеи прекрасны. Лично я бы сделал это как клиент-серверное приложение. Формы Windows или приложение WPF, которое находится в системном трее, может связываться с сервером, используя дуплексное соединение TCP / IP с использованием WCF. Возможно, попросите клиента зарегистрироваться в определенных группах в зависимости от того, на каком компьютере он находится.

Затем, когда кто-то хочет отправить сообщение, он выбирает, в какую группу ему нужно перейти (или во все группы), сообщение попадает на сервер, который отправляется всем подключенным клиентам, и приложение WPF на компьютере получает сообщение и всплывает. Вам даже не нужна база данных, кроме как для хранения пользователей / групп и истории сообщений, если вам нужно.

1
ответ дан 14 December 2019 в 19:09
поделиться

Это может быть нелепый ответ, но думали ли вы о внедрении системы чата? Его просто реализовать и хорошо протестировать.

Вот несколько возможностей:

http://messenger.softros.com/

http://en.wikipedia.org/wiki/Instant_messaging#User_base

Статья о создании собственного: {{ 1}} http://www.computerworld.com/s/article/9002059/How_to_build_your_own_corporate_IM_system_

1
ответ дан 14 December 2019 в 19:09
поделиться

Если вы не можете использовать / установить существующие IM, вы можете подумать о реализации простого протокола «чата» в вашем приложении.

Это довольно легко сделать, основываясь на сокетах и многих доступных статьях.
Например:
http://www.codeproject.com/KB/IP/TCPIPChat.aspx
http://www.codeproject.com/KB/miscctrl/SimpleMessenger. aspx? display = Print

Если вам нужно что-то расширенное (например, получение исторического уведомления, управление статусом пользователей и т. д.), вы можете рассмотреть возможность использования openSource Jabber API:
{{ 1}} Например, http://www.codeproject.com/KB/gadgets/googletalk.aspx

0
ответ дан 14 December 2019 в 19:09
поделиться

Я бы порекомендовал вам SPARK . У нас такая же проблема в моей фирме, и мы, наконец, решили сэкономить время и не изобретать велосипед, а использовать существующее (бесплатное) решение. СПАРК делает эту работу за нас.

«Spark - это кроссплатформенный клиент обмена мгновенными сообщениями с открытым исходным кодом, оптимизированный для предприятий и организаций. Он имеет встроенную поддержку группового чата, интеграцию с телефонией и надежную защиту. Он также предлагает отличные возможности для конечных пользователей с такими функциями, как встроенная проверка орфографии, закладки групповых чатов и беседы с вкладками ».

0
ответ дан 14 December 2019 в 19:09
поделиться

Самый простой способ сделать это - установить на каждом компьютере простого клиента, опрашивающего центральную службу на предмет предупреждений. Каждое оповещение должно иметь уникальный идентификатор, чтобы каждый клиент мог иметь дело с идемпотентностью (вы не хотите, чтобы центральная служба отслеживала вкладки, на которых клиенты «всплывали»).

Я также рекомендую иметь достаточно короткий срок жизни для каждого предупреждения, поэтому клиенту нужно знать только очень короткий список отображаемых им предупреждений, и поэтому, если машина была перезапущена, будет отображаться только небольшая история предупреждений. .

Имея 300 подписчиков, вы захотите, чтобы опрос также проводился с большим промежутком времени - на самом деле вам не нужно 300 проверок каждые 10 секунд - поэтому вам придется уравновесить техническое желание длительных промежутков между проверками и бизнес-требование получать оповещение в течение определенного периода времени.

Вы можете легко добиться этого с помощью службы .NET / TCP WCF, опрашиваемой приложением WINFORM / WPF, добавляемым в качестве программы запуска, или службой Windows, которая затем порождает пользовательский интерфейс для отображения уведомления.

1
ответ дан 14 December 2019 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: