现在我正在使用WCF Rest Service
现在我正在WCF REST服务中尝试WCF双工通信
目前我通过jquery AJAX调用服务并获得回复
像这样:
$.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中获得回调合约的响应?
答案 0 :(得分:0)
如何在jquery ajax中获得回调合约的响应?
应该使用恕我直言,通过HTTP SignalR接收从您的服务到客户端的电话。它采用推技术,长拉等技术来实现这一目标。另一种方法是通过反复调用服务进行更改来模拟这一点。
似乎很难通过支持双工通信的WSDualHttpBinding
来实现。请参阅Juval Lowy在“编程WCF”一书中的说明,其中他说明了这种绑定:“双工回调是非标准的,因为没有行业参考说明如何将客户端端点地址传递给服务或服务如何发布首先是回调合约。“
另外我有一个疑问,webHttpbinding是否支持双工通信?
我相信它不受支持。 WebHttpBinding不支持会话(ReliableSession
属性),这是双工通信所必需的(请参阅System-Provided Bindings)。
并且BTW WebHttpBinding被ASP.NET WebApi取代。