2016-01-21 38 views
0

现在我与WCF REST服务,通过jQuery的AJAX和得到响应工作双工WCF服务使用调用JavaScript(AJAX)

我现在想在WCF REST服务WCF双工通信

目前我呼叫服务回到它

像这样:

$.ajax({ 
     type: varType, //GET or POST or PUT or DELETE verb 
     url: varUrl, // Location of the service 
     data: varData, //Data sent to server 
     contentType: varContentType, // content type sent to server 
     dataType: varDataType, //Expected data format from server 
     processdata: varProcessData, //True or False 
     crossDomain: true, 
     cache: varCache, 
     timeout: 200000, 
     success: function (response) {// When Service call success 
       var names = response.d; 
       alert(names); 
      }, 
     error: function (xhr) {// When Service call fails 
      alert(xhr.responseText); 
     } 
    }); 

但在全双工通信有一个回调合同中服务通信服务稍后传给客户。

我怎样才能得到在jquery ajax回调合同的回应?

另外我有一个疑问,WebHttpbinding是否会支持双工通信?

+0

我回答了您的问题吗? – Artyom

回答

0

我怎样才能得到在jquery ajax回调合约的回应?

恕我直言,你应该使用服务器通过HTTP接收来自客户端的呼叫SignalR。它使用推技术,长时间拉动和其他来实现这一点。另一种方法是通过反复调用服务来进行更改来模拟此操作。

通过支持双工通信的WSDualHttpBinding似乎很难做到这一点。请参阅Juval Lowy在“WCF编程”一书中提到的有关此绑定的说明:“双工回调是非标准的,因为没有行业参考指出如何将客户端端点地址传递到服务或服务如何发布首先是回调合同。“

另外我有一个疑问,webHttpbinding是否会支持双工通信?

我相信它不支持那里。 WebHttpBinding不支持会话(ReliableSession属性),这是双工通信所必需的(请参阅System-Provided Bindings)。

而BTW WebHttpBinding被ASP.NET WebApi所取代。

+0

您的回答可能正确与'WSDualHttpBinding',但我必须使用'webHttpBinding'实现双工通信,我已经使用HATEOAS概念来实现这一点。 –