Возврат данных JSON из службы WCF с помощью netTcpBinding

Я создаю службу WCF, из которой я хотел бы вернуть данные JSON. Я также хотел бы вызвать службу и получить данные с помощью jQuery. Моя проблема в том, что моя компания разрешает netTcpBinding только при размещении проектов WCF. Все, что я читал о возврате данных JSON из WCF, указывает на использование webHttpBinding. Так

  1. Можно ли вернуть JSON из службы WCF, использующей netTcpBinding?
  2. Можно ли добавить несколько конечных точек, используя разные привязки, указывающие на одну и ту же службу?
  3. Если у меня есть сложный класс, содержащий другие дочерние классы, можно ли вернуть его с помощью JSON?

(Кроме того, я использую фабрику программного обеспечения веб-служб для создания службы, поэтому я не уверен если это затруднит использование контрактов сообщений и всего остального).

ТИА.


person Ciarán Bruen    schedule 02.12.2010    source источник


Ответы (1)


Недавно я реализовал WCF, Jquery, Json в одном из своих проектов. вы можете сделать следующие вещи

1) Напишите свой сервер wcf 2) вы можете указать несколько конечных точек. вам нужно предоставить эту конкретную службу как jsonp end poing 3) Когда вы предоставляете свои услуги как jsonp endpoing, все типы возврата метода будут автоматически преобразованы в объекты jsonp

вы столкнетесь с некоторыми междоменными проблемами, поэтому перейдите по следующей ссылке

http://jasonkelly.net/2009/05/using-jquery-jsonp-for-cross-domain-ajax-with-wcf-services/

если вы хотите получить рабочий пример, перейдите по этому URL-адресу http://www.art.com/gallery/id--b1823/animals-posters.htm?ui=8A93D7DFA9A544E1A91D826217FC4D7B

а затем наведите указатель мыши на любое изображение и щелкните один из направлений, он сделает вызов ajax для службы wcf, которая возвращает jsonp

дайте мне знать, если вам нужна дополнительная информация об этом.

person kobe    schedule 02.12.2010
comment
Привет господи спасибо за ответ. Итак, вы говорите, что данные json могут быть возвращены из конечной точки netTcpBinding? - person Ciarán Bruen; 02.12.2010