在Web应用程序中以编程方式等待Web服务响应

时间:2012-03-26 23:28:38

标签: javascript asp.net web-services soap

在与具有新功能的现有应用程序集成时,我正在寻找一种方法来完成以下任务:

  • 现有应用程序传递一个参数(可以假设它是一对坐标,纬度/经度)
  • 新功能解释参数,并运行Web服务方法(也可以从现有应用程序访问,但这不应该相关)
  • 从Web服务返回响应后,调用响应的图形表示(也可以假设它是一个坐标系对),并将其显示在地图上(Bing地图)

我坚持的部分是等待来自Web服务的编程响应。

  • 我应该只是从现有应用程序调用Web服务吗?在我可以进行进一步处理之前,仍然存在必须等待响应的问题。

  • 或者有没有办法'等待'我可以通过JS / ASP.NET应用的Web服务的响应?

请记住,尽管可能的解决方案是添加用户交互步骤(在Web服务返回结果后单击此按钮继续),这是不可取的,如果可能,我希望将其保留为单个用户交互。

1 个答案:

答案 0 :(得分:1)

您将需要研究ASP.NET的AJAX功能。我不确定ASP.NET如何在没有环境或参考文档的情况下处理AJAX调用,但AJAX调用的一般模式是:

  • 客户端(IE)向服务器发送请求,指定URL,参数和回调函数。
  • 服务器处理请求并将数据发送回客户端。
  • 当客户端收到响应时,它会触发回调函数,提供服务器在响应对象中返回的数据。

您可以使用“同步”标志让客户端“等待”响应,但不建议这样做,因为它会导致浏览器冻结,直到服务器返回响应。

如果您需要比这更复杂的东西,您可能需要深入了解网络插座: http://www.html5rocks.com/en/tutorials/websockets/basics/