2012-03-13 4 views
2

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

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

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

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

+1

Вы должны игнорировать ASMX. Это устаревшая технология, которая была заменена WCF. –

ответ

2

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

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

1

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

Для получения подробной информации о создании базового сайта MVC см. How can I implement a site with ASP.NET MVC without using Visual Studio?.

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

Не будет особых требований к двум сертификатам SSL.

1

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

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

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

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

1

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

+0

+1: содержание переговоров в Нэнси превосходит всех. – Phill