mvc return Json() по сравнению с веб-службой на основе JSON

Я хочу предоставить на своем сайте службу, которую могут вызывать любые пользователи и получать ответ в формате JSON. В конце концов, я хочу, чтобы пользователи использовали этот сервис как можно больше.

Мой сайт создан с использованием фреймворка asp.net MVC, и мне было интересно, как лучше всего это сделать...

Я думаю, что большинство скажет, что использование веб-службы (*.asmx), которая возвращает формат JSON, очевидно, но я знаю, что могу просто создать URL-адрес, который пользователи могут вызывать, и он также возвращает формат JSON (например: вызов "< href="http://mysite.com/GetList" rel="nofollow noreferrer">http://mysite.com/GetList" вернет список JSON). В asp.net, используя метод return Json().

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


person gillyb    schedule 23.01.2010    source источник


Ответы (2)


Я не знаю, что большинство скажет использовать веб-службу .asmx. Лично я давно не создавал веб-службу .asmx, и я бы выбрал подход MVC. Единственное, о чем я бы беспокоился, это:

  1. будущие изменения переданных данных, URL и/или параметров.
  2. Сделать контроллер слишком большим или загроможденным, и в этом случае вы можете создать отдельный контроллер API.

Для меня преимущества заключаются в том, что он более совместим с остальной частью вашего приложения, с ним просто и легко работать, и его не так много нужно настраивать.

person David Hogue    schedule 23.01.2010
comment
Если я создам отдельный контроллер API, мне не о чем беспокоиться о будущих изменениях. С контроллерами маршрутизации mvc я всегда могу убедиться, что адрес, который я выставляю, будет одинаковым, независимо от внутренних изменений, которые я внесу... Спасибо! :) - person gillyb; 23.01.2010

Веб-служба будет предоставлять WSDL.

person Martin    schedule 23.01.2010