2012-08-08 20 views
6

Soy nuevo en las aplicaciones web ASP.Net MVC y ASP.Net.Alojar aplicación web ASP.Net y consumir desde otra aplicación MVC

He trabajado en servicios web y los he gastado.

Pero no estoy seguro de cómo alojar la API web ASP.Net y consumir la misma desde otra aplicación ASP.Net MVC. Encontré algunas muestras donde las personas están usando la API del mismo proyecto. En el mundo real, realmente dudo que el uso se limite a un proyecto.

¿Puede algún cuerpo publicar algunos ejemplos o enlaces que pueden explicar lo mismo?

Respuesta

5

Hosting ASP.NET Web API en una aplicación web MVC tiene perfecto sentido del mundo real si en su mayoría utiliza la API para realizar llamadas de tipo AJAX desde su cliente web. Tener la API y la aplicación web en el mismo proyecto elimina los problemas con las llamadas Ajax de dominios cruzados, lo que requiere JSONP. Pero ASP.NET Web API puede admitir fácilmente JSONP si es necesario con un formateador personalizado como JsonMediaTypeFormatter disponible en WebApiContrib.

ASP.NET Web API hace que desarrollar API REST sea fácil. Utiliza las mismas convenciones que desarrollar un controlador en MVC. Para crearlo por separado de su aplicación web, solo cree un proyecto MVC 4 y cree sus controladores utilizando un ApiController en lugar del controlador estándar para renderizar Vistas. Luego, simplemente implemente su aplicación como cualquier aplicación web a IIS (también puede autoevaluar ASP.NET Web API en algo así como un Servicio de Windows). Aquí está an example on the official ASP.NET Web API website that calls a REST API developed in ASP.NET Web API from a console application. Hay muchos más ejemplos en este sitio.

+0

Gracias Kevin .... – Naresh

+0

Sin embargo, en ciertos requisitos comerciales, el servidor de API web debe estar en una capa de acceso diferente al servidor web (para satisfacer los requisitos de seguridad, por ejemplo). En esos casos, no tenemos otra opción que usar el consumo tradicional del servicio web. –

+0

@ HoàngLong - ¿Qué es el "consumo tradicional de servicios web"? ¿Y qué significa "capa de acceso diferente al servidor web"? –

Cuestiones relacionadas