2016-01-21 2 views
0

Сейчас я работаю с службы WCF RestДуплекс службы WCF с использованием Вызов JavaScript (AJAX)

Теперь я пытаюсь WCF дуплексной связи в WCF REST службы

В настоящее время я звоню обслуживание через 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?

Также у меня есть одно сомнение, поддерживает ли webHttpbinding для двусторонней связи?

+0

Я ответил на ваши вопросы? – Artyom

ответ

0

Как я могу получить ответ на контракт обратного вызова в jquery ajax?

IMHO для получения вызова от вашего сервиса клиенту через HTTP SignalR следует использовать. Это позволяет использовать технологию push, long-pulling и другие. Другим способом сделать это было бы эмулировать это, неоднократно вызывая службу для изменений.

Кажется, это сложно сделать через WSDualHttpBinding, который поддерживает дуплексную связь. См. Примечание Джуваля Лоуя в книге «Программирование WCF», где он указывает на эту привязку: «Дуплексные обратные вызовы нестандартны, так как нет ссылки на промышленность, в которой указано, как адрес конечной точки клиента передается службе или как служба публикует прежде всего, контракт обратного вызова ».

Также у меня есть одно сомнение, поддерживает ли webHttpbinding двусторонняя связь?

Я считаю, что там не поддерживается. WebHttpBinding не поддерживает сеансы (ReliableSession), и это требуется дуплексной связью (см. System-Provided Bindings).

И BTW WebHttpBinding заменяется ASP.NET WebApi.

+0

Возможно, ваш ответ может быть правильным с помощью WSDualHttpBinding, но мне нужно добиться дуплексной связи с помощью 'webHttpBinding', я использовал концепцию HATEOAS для достижения этой цели. –

Смежные вопросы