客户端应用程序等待Web服务响应的时间长度,以及响应永远不会出现的情况?

时间:2015-02-12 09:49:47

标签: c# web-services

例如,如果我们有客户端应用程序调用Web服务,并等待从服务器获取响应。 如果反应从未到来怎么办? 客户端应用程序会发生什么? 应用程序中断,抛出异常或等待永远? 我在谈论使用Web服务的桌面客户端应用程序(Windows窗体)。

2 个答案:

答案 0 :(得分:1)

这取决于您使用什么来调用Web服务?这是一个AJAX请求吗?如果您使用jQuery作为示例,则可以向$ .ajax()传递一个超时选项,并指定在超时到期时触发的错误回调。

答案 1 :(得分:1)

如果您尚未添加处理超时的功能,则客户端应用将继续等待/挂起。您的客户端应用程序应该处理错误返回和服务器超时。

E.g。 Jquery错误和超时处理。

$.ajax({
    url: "/ajax_json_echo/",
    type: "GET",
    dataType: "json",
    timeout: 1000,
    success: function(response) { alert(response); },
    error: function(x, t, m) {
        if(t==="timeout") {
            alert("got timeout");
        } else {
            alert(t);
        }
    }
});​