ASP.NET Web API vs WCF - ¿Se puede utilizar la API web para proporcionar comunicación basada en REST a un servicio WCF singleton?

StackOverflow https://stackoverflow.com/questions/9381016

Pregunta

Tengo un conjunto existente de servicios WCF Singleton. Son procesos de larga duración que trabajan mucho de manera continua y se exponen con contratos de servicio WCF para comunicación con otros procesos.

Cuando se estaba desarrollando la API web de WCF, estaba emocionado porque parecía que finalmente podría eliminar todas las cosas molestas del contrato y simplemente proporcionar una API REST de la plataforma para cada servicio y hacer que los procesos se comuniquen a través de Solicitudes HTTP y respuestas JSON.

Ahora parece que la API web se ha convertido en una función ASP.NET alojada en IIS, dejándome tratando de averiguar si solo me estoy perdiendo algo o si mis servicios de WCF ya no tendrán la oportunidad de proporcionar una interfaz REST.

Si la API web ya no está realmente dirigida a mi escenario, ¿qué ha imaginado el equipo ASP.NET con respecto a los procesos singleton no terminados que desean proporcionar una API basada en HTTP/JSON a otros procesos de consumo?

¿Fue útil?

Solución

No tiene que alojar los servicios de API web ASP.NET en IIS. Hay una opción llamada "Autoconde"Eso le permitirá alojar sus servicios de API en otro proceso (como un servicio de Windows) si lo desea. Me imagino que su arquitectura actual funcionaría bien como una aplicación autohospedada.

Otros consejos

Puedes autohosts usando ServiceHost como en Este ejemplo de MSDN. Ver Relacionado SO POST. Esencialmente: IIS no es un requisito para el alojamiento de WCF.

Si estas usando webHttpBinding - Solo necesitas crear el WebServiceHost que se extiende desde ServiceHost para apoyar el descanso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top