【问题标题】:Programmatic waiting in web application for web service responseWeb 应用程序中的程序化等待 Web 服务响应
【发布时间】:2012-03-26 23:28:38
【问题描述】:

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

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

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

  • 我应该简单地从现有应用程序调用 Web 服务吗?仍然存在必须等待响应才能进行进一步处理的问题。

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

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

【问题讨论】:

    标签: javascript asp.net web-services soap


    【解决方案1】:

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

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

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

    如果您需要比这更复杂的东西,您可能需要深入研究 Web 套接字: http://www.html5rocks.com/en/tutorials/websockets/basics/

    【讨论】:

    • 我在我的原始设计中确实考虑了 AJAX - 看来我必须重新审视它并可能以这种方式实现它。
    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多