2016-01-21 75 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概念來實現這一點。 –