Как создать приложение-получатель в.NET, которое будет принимать сообщения или запросы со страницы ASP.NET?

Прежде всего, спасибо, что нашли время, чтобы прочитать мой вопрос. Вот то, что я пытаюсь выполнить, а затем то, что у меня есть до сих пор.

То, что я хочу сделать, - это создать приложение Windows (или своего рода сервер), которое будет прослушивать запросы от приложения ASP.NET. Приложение Windows будет установлено и будет прослушивать сообщения из приложения ASP.NET, а затем выполнять некоторую обработку. Поток такой:

Пользователь загружает настольное приложение и регистрирует свой IP-адрес на моем веб-сайте. После загрузки приложения для настольного компьютера приложение ASP.NET может отправлять запросы этому конкретному клиенту для настольного компьютера для дальнейшей обработки. Я думаю, что дальнейшая обработка не зависит от разрешения в этом случае, поэтому я пропустил детали того, что будет сделано. Но если вы считаете это важным, пожалуйста, дайте мне знать, и я также добавлю эти детали.

Я посмотрел на создание TCP-сервера, который будет прослушивать запросы. Поскольку пользователь уже зарегистрировал свой IP-адрес на моем веб-сайте, мой веб-сайт назначает ему уникальный идентификатор и сохраняет этот идентификатор вместе с IP-адресом в базе данных. Теперь сайт ASP.NET может отправлять запросы этому настольному приложению.

Я рассмотрел создание TCP-сервера для этой цели. Во время исследования я также натолкнулся на PNRP, и это похоже на то, что я пытаюсь сделать.

Ребята, можете ли вы порекомендовать некоторые решения или где я должен искать этот сценарий? Должен ли я создать простой TCPLISTENER или может быть с подходом PNRP? Или что-то другое?

Основное требование - чтобы веб-приложение могло взаимодействовать с настольным приложением. Веб-приложение будет обслуживать множество пользователей, и у каждого пользователя будет установлено приложение для ПК. Какой пользователь, для какого вопроса клиента настольного компьютера будет отвечать веб-приложением, которое будет поддерживать базу данных уникальных идентификаторов пользователей и их соответствующих IP-адресов.

Заранее спасибо за помощь.

2 ответа

Вы можете использовать.NET Remoting или веб-сервис в настольном приложении. Используйте WCF или WSE для последнего. Вы можете использовать COM для добавления правил для Windows.

Что бы вы ни делали, примите во внимание межсетевой экран /NAT. Клиентскому приложению может быть проще опрашивать сервер (инициировать соединение), в противном случае вы открываете банку с червями, пытаясь установить удаленно доступный сервер на компьютере вашего пользователя, не выполняя некоторые очень ручные настройки на сетевом оборудовании пользователя.,

После того, как вы разобрались с этой частью, я использовал в вашей ситуации.NET Remoting. В то время, когда WCF не выходил, а когда это происходило, он был инвалидом для моих нужд. TCP IP-сокеты были слишком сырыми (мне пришлось писать слишком много кода), и поэтому Remoting идеально решила мою проблему (полный набор строк кода для установки соединения, и с этого момента все происходило автоматически).

РЕДАКТИРОВАТЬ: я использую отличную стороннюю библиотеку, которая делает Remoting еще более гибким (достаточно гибким, чтобы я все еще ждал, пока WCF догонит набор функций, чтобы я прекратил использовать Remoting, и пока не повезло!). Проверьте http://www.genuinechannels.com/ чтобы увидеть все функции, которые они имеют. Это включает в себя звонки с сервера на клиента, и это звучит так же, как то, что вам нужно сделать. Проверьте это.

Другие вопросы по тегам