Программное ожидание в веб-приложении ответа веб-службы - PullRequest
1 голос
/ 27 марта 2012

В интеграции с существующим приложением с новыми функциями я ищу способ сделать следующее:

  • Существующее приложение передает параметр (может предполагать, что это пара координат, широта / долгота)
  • Новая функциональность интерпретирует параметр и запускает метод веб-службы (который также доступен из существующего приложения, но это не должно относиться к делу)
  • После того, как ответ вернется из веб-службы, вызовите графическое представление ответа (также можно считать, что это пара координат) и отобразите его на карте (Bing maps)

Часть, на которой я застрял, - это программное ожидание ответа от веб-службы.

  • Должен ли я просто вызывать веб-сервис из существующего приложения? Существует проблема с ожиданием ответа, прежде чем я смогу выполнить дальнейшую обработку.

  • Или есть способ «подождать» ответа от веб-службы, который я могу применить через JS / ASP.NET?

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

1 Ответ

1 голос
/ 27 марта 2012

Вы захотите изучить функциональность AJAX в ASP.NET. Я не уверен, как ASP.NET обрабатывает AJAX-вызовы, не имея перед собой среды или справочной документации, но общий шаблон для AJAX-вызовов:

  • Клиент (IE) отправляет запрос на сервер, указывая URL-адрес, параметры и функцию обратного вызова.
  • Сервер обрабатывает запрос и отправляет данные обратно клиенту.
  • Когда клиент получает ответ, он запускает функцию обратного вызова, предоставляя данные, возвращаемые сервером в объекте ответа.

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

Если вам нужно что-то более сложное, чем это, вам, возможно, придется покопаться в веб-сокетах: http://www.html5rocks.com/en/tutorials/websockets/basics/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...