Формат ответа WebMethod - PullRequest
       11

Формат ответа WebMethod

3 голосов
/ 09 марта 2009

Недавно я видел пример jQuery, в котором POST был создан для «Default.aspx / Test», где Test был WebMethod в Default.aspx, а тип содержимого для запроса был «application / json».

Ответ от WebMethod был в формате JSON. Я всегда думал, что WebMethods возвращает ответы SOAP, но если я правильно интерпретирую этот код, как я уже сказал, WebMethod возвращает JSON.

Это правильно? Возвращают ли WebMethods ответ в формате типа содержимого запроса? С каких это пор это стало возможным? Всегда? Или это потому, что у меня установлен ASP.NET AJAX? Если да, то какие пространства имен можно разобрать, чтобы увидеть, как это работает?

Я использовал только WebMethods для связи .NET с .NET, который был в SOAP, и всегда писал собственный код для ответа в правильном формате (SOAP, JSON или XML), основываясь на параметре строки запроса запроса. указав желаемый формат. Я всегда думал, что WCF необходим для такого типа метаформатов.

1 Ответ

1 голос
/ 09 марта 2009

Это часть ASP.NET AJAX. См., Например, Использование веб-служб в ASP.NET AJAX . Часть клиентской архитектуры AJAX выглядит следующим образом:

Вызовите веб-сервисы, используя глагол HTTP POST. У запроса POST есть тело, которое содержит данные, которые браузер отправляет на сервер. У него нет ограничения по размеру. Следовательно, вы можете использовать запрос POST, когда размер данных превышает внутреннее ограничение размера для запроса GET. Клиент сериализует запрос в формате JSON и отправляет его в виде данных POST на сервер. Сервер десериализует данные JSON в типы .NET Framework и выполняет фактический вызов веб-службы. Во время ответа сервер сериализует возвращаемые значения и передает их обратно клиенту, который десериализует их в объекты JavaScript для обработки.

...