Необходимо разработать RESTful API (как JSON, так и XML) - PullRequest
2 голосов
/ 13 марта 2012

Я хочу создать RESTful API на ASP.NET для веб-сайта. Моя проблема в том, что мне нужно, чтобы он был интегрирован в веб-сайт, а не как отдельный проект.

Я понимаю, что WCF делает это действительно легко и это идеальный способ сделать это, но я не думаю, что вы можете объединить сервисный проект WCF и веб-сайт ASP.Net. Это правильно?

Есть ли способ, которым мы можем сделать это, используя файл webservice (asmx) (поскольку я знаю, что службы asmx используют SOAP no?)

Причина, по которой я нуждаюсь в этом в том же проекте, заключается в том, что клиент сможет приобрести ssl для своего домена (который будет использовать веб-сайт), и мне нужно также сделать API безопасным, но клиент Не следует просить купить два SSL или даже подстановочный. Зная это, есть ли лучший способ сделать это с помощью WCF?

Ответы [ 4 ]

2 голосов
/ 13 марта 2012

Взгляните на новую бета-версию MVC4, она будет запущена где-то в период с марта по апрель этого года и сможет удовлетворить ваши требования по созданию веб-службы RESTful вместе с веб-приложением.Я не провел слишком много времени с MVC4, чтобы вдаваться в подробности, но это определенно стоит посмотреть.Ссылки: Получить MVC4 ; MVC4 и блог WebAPI .

Надеюсь, это поможет!

1 голос
/ 16 марта 2012

Я бы на самом деле использовал NancyFX .Настройка маршрутов очень проста и поставляется со встроенными сериализаторами XML и JSON, которые действуют на основе данных в заголовках.

1 голос
/ 16 марта 2012

У меня есть приложение ASP.NET MVC 3, которое предоставляет обе службы WCF REST. Я использую .NET 4. Вам придется обратить внимание на то, как вы настраиваете свою маршрутизацию. Например, моим службам WCF предшествует что-то вроде «api / v1 /», в то время как все остальные запросы обрабатываются ASP.NET MVC 3.

У меня была проблема, потому что IIS отказался обслуживать некоторые запросы "localhost" (например, когда ваши контроллеры MVC 3 пытаются использовать ваши службы отдыха WCF). Это было решено добавлением записи в мой файл hosts. Об этом также следует помнить при реализации сервера ресурсов OAuth 2.0 или сервера авторизации.

Использование WCF для служб REST нормально работает в .NET 4, но сериализация JSON отнимает много времени. Есть проблемы с датами по умолчанию, и это довольно медленно. Вы можете посмотреть на использование другого сериализатора. С WCF вы жертвуете некоторой гибкостью для некоторых функций, которые вы получаете бесплатно.

ASP.NET MVC 4 (и WEBAPI) все еще находится в бета-версии, поэтому я бы избегал этого для проекта с краткосрочной датой выпуска.

1 голос
/ 13 марта 2012

Вы можете использовать ASPNET MVC для создания API вместе с вашим сайтом.

См. Как реализовать сайт с ASP.NET MVC без использования Visual Studio? , чтобы получить некоторые сведения о создании базового сайта MVC.

Службы ASPNET MVC могут отвечать в формате JSON, XML или обоими способами.

Специальных требований для двух сертификатов SSL не будет.

...