Web服务 - 异步执行和状态更新

时间:2011-09-08 02:26:33

标签: c# javascript asp.net soap asynchronous

我正在尝试开发一个使用Javascript和SOAP调用的Web服务。这是一个有状态的服务,用户可以登录一段时间,因此我使用Context.Session来存储必要的数据。 用户调用冗长的操作(登录后)并需要定期接收状态更新。我遇到的问题是我的服务行为只能一次执行一个调用(即WebMethod A()),并且在A()完成执行之前我无法调用WebMethod B()。 有两个问题: 接收状态更新的最佳方法是什么 - 服务器可以自动将数据回发到客户端,还是最好轮询GetStatus服务方法? 我怎样才能实现异步。执行INSIDE Web服务,以便我可以从同一个Web服务调用不同的,有时完全不相关的Web方法? 谢谢!

1 个答案:

答案 0 :(得分:0)

使用JQuery你可以这样做:

function CallMethodA() {
        $.ajax({
            type: "POST",
            url: "WebService.asmx/MethodA",
            // whatever else ...
            success: function (response) {
                //handle success
            }
        });
    CallMethodB();
}


function CallMethodB() {
        $.ajax({
            type: "POST",
            url: "WebService.asmx/MethodB",
            // whatever else ...
            success: function (response) {
                //handle success
            }
        });
    }

Ajax requests in JQuery are async by default.