Минимальные файлы, необходимые для развертывания webAPI на стороне сервера
Итак, после большого количества исследований я начинаю улучшать наш стек серверов обслуживания с помощью точки входа webAPI. Основываясь на этой теме, и особенно на последнем посте члена Совета Digerati, мы реализуем сервисы webAPI как фасад в наш уровень приложений WCF. (Наши службы WCF - это просто фасады в наш прикладной уровень, где живет все поведение)
Мой вопрос таков. Я скачал MVC 4 и создал новый проект WebAPI в своем сервисе решение. Но ничего себе там была тонна дерьма, которую создали в моем проекте, что мне просто не понадобится! Например, все файлы изображений, домашний контроллер, виды и модели и т. д.
Итак, в том, что это всего лишь проект службы, какие минимальные файлы мне нужны для построения функционального проекта службы? Мы намерены опубликовать оба типа служб (WCF и webAPI) бок о бок на одном сервере .. каждый вызов службы выполняет один и тот же идентичный вызов службы и возврат конкретного DTO для запроса. Пока это выглядит как App_Start, контроллеры и Glabal.asax / web.записи конфигурации. Мне определенно не нужны виды, модели или изображения!!!
Любой вклад в то, что другие сделали, чтобы сделать чистое развертывание службы, был бы очень приветствован здесь.
2 ответа:
Здесь та же проблема. Я нашел это. статья от Шона Кендрота, объясняющего, как создать минимальный проект Web API. Он был написан для бета-версии Web API, но, похоже, все еще действует.
- создать пустой ASP.NET проект.
- Добавить ссылку на
System.Web.Http
иSystem.Web.Http.WebHost
(версия 4.0.0.0)- Добавить файл
Global.asax
Зарегистрируйте маршрут в
Global.Application_Start
. Что-то вроде:protected void Application_Start(object sender, EventArgs e) { GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); }
Добавить контроллер
public class SampleController : ApiController { public string Get(int id) { return "Hello"; } }
- запустите проект локально с URL
/api/sample/123
и наслаждайтесь результатом: