Веб-API ASP.Net против WCF. Можно ли использовать веб-API для обеспечения связи на основе REST с одноэлементной службой WCF? - PullRequest
3 голосов
/ 21 февраля 2012

У меня есть существующий набор одноэлементных служб WCF. Это длительные процессы, которые выполняют большую работу на постоянной основе и выставляют себя с контрактами на обслуживание WCF для связи с другими процессами.

Когда веб-API WCF разрабатывался, я был взволнован, потому что он выглядел так, как будто я, наконец, смог бы покончить со всеми раздражающими контрактными вещами и просто предоставить независимый от платформы REST API для каждой службы и иметь процессы взаимодействуют через HTTP-запросы и ответы JSON.

Теперь похоже, что веб-API стал функцией ASP.Net, размещенной на IIS, и я пытаюсь понять, что я что-то упустил или мои службы WCF больше не будут иметь возможность предоставлять интерфейс REST. .

Если веб-API больше не нацелен на мой сценарий, что планирует команда ASP.Net в отношении не завершающихся одноэлементных процессов, которые хотят предоставить API на основе HTTP / JSON другим потребляющим процессам?

Ответы [ 2 ]

5 голосов
/ 21 февраля 2012

Вам не нужно размещать службы ASP.NET Web API в IIS. Существует опция под названием « Self Hosting », которая позволит вам разместить ваши службы API в другом процессе (например, в службе Windows), если вы захотите. Я полагаю, что ваша текущая архитектура будет прекрасно работать как самостоятельное приложение.

1 голос
/ 21 февраля 2012

Вы можете самостоятельно принять хост, используя ServiceHost, как в в этом примере MSDN . См. связанный пост SO . По сути - IIS не является обязательным требованием для хостинга WCF.

Если вы используете webHttpBinding - вам просто нужно создать WebServiceHost, который расширяется от ServiceHost для поддержки REST.

...