Вопрос

Недавно я видел пример 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 необходим для такой функциональности метаформатов.

Это было полезно?

Решение

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

  

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top