Исходя из предположения, что ваше приложение Windows и ваш сервер являются одним и тем же доменом, я бы посоветовал вам использовать шаблон публикации / подписки для этого типа взаимодействия. Вы можете использовать что-то вроде образца IDesign , который доступен на их веб-сайте. По сути, ваше приложение Windows подписывается на события, которые генерируются вашим мобильным приложением, отправляющим сообщение на ваш сервер. Затем ваш издатель отправит событие в ваше приложение Windows.
Для этого ваше соединение с сервером / издателем должно быть всегда открыто. Это лучше всего достигается с помощью tcpBinding, поскольку он является двунаправленным и позволяет устанавливать большие тайм-ауты (фактически бесконечность).
Если вы не можете использовать TCP, ваша работа стала немного сложнее. Использование дуплексного канала является немного проблематичным, потому что вы также должны контролировать канал, потому что ни одна из сторон не уведомит другую, если канал закроется. Вы узнаете, только когда попробуете его использовать. Конечно, это может происходить и с TCP-соединением, но оно немного стабильнее, чем при использовании http.
Другой альтернативой является использование привязки MSMQ. Это гарантирует доставку вашего сообщения, потому что вы взаимодействуете через MSMQ, а не через канал связи, такой как http или tcp. В этом случае вам даже не понадобится инфраструктура pub / sub, вы можете просто иметь службу, которая отправляет ваши мобильные сообщения в очередь, которую отслеживает ваше приложение Windows. Преимущество использования фреймворка заключается в том, что несколько приложений могут прослушивать одно и то же событие.
НТН.