visual studio paso mvc example enable ejemplo crear c# asp.net-mvc asp.net-mvc-4 asp.net-web-api

studio - web api c# ejemplo



Proyectos MVC y Web Api dentro de la misma soluciĆ³n (3)

Ayer hice lo mismo. Tengo en el mismo proyecto MVC 4 Controladores regulares y ApiControllers.

Debe agregar el enrutamiento en Global Asax para WebApi:

WebApiConfig.Register(GlobalConfiguration.Configuration);

Eche un vistazo a WebApiConfig:

public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }

No olvide también agregar los paquetes Nuget para WebApi (si aún no los tiene). En mi caso, no los tuve porque mi proyecto originalmente era MVC 3 y luego me actualicé.

Tengo un proyecto de MVC 4 sobre una aplicación de N niveles. Ahora tengo el requisito de poder consumir la aplicación programéticamente. He creado un nuevo proyecto Web Api dentro de la misma solución que se encuentra junto al proyecto MVC, nuevamente encima de la aplicación N-tier.

Pero no estoy seguro de cómo funciona todo esto, ya que la capa MVC es el proyecto de inicio: configura mi DI, Automapper, etc., y es el proyecto que despliegue en el servidor.

Entonces, ¿cómo se debe configurar todo esto? ¿Puedo configurar mi proyecto MVC para enrutar todas las solicitudes / api al nuevo proyecto Web Api? ¿O el proyecto Web Api debe implementarse por separado?

No quiero hacer nada fuera de lo convencional, así que si hay una forma mucho más común de configurar esto, por favor diríjanme en la dirección correcta.

Gracias.


Solo necesita agregar los controladores de enrutamiento y API a su sitio MVC existente, donde estarán todos disponibles en el site/api/


WebApi es una aplicación alternativa orientada a servicios de Microsoft como WCF. Pero WCF usa el protocolo SOAP y WebAPI utiliza el protocolo HTTP para la comunicación.

Entonces, si está utilizando WCF para proporcionar servicio para su aplicación MVC, alojaría ese servicio wcf por separado y consumiría su servicio mediante la aplicación MVC, EXACTAMENTE de la misma manera que tiene que alojar su proyecto WebAPI por separado y proporcionar servicio a su aplicación web (MVC).

por alguna razón, si los quiere (MVC y WebAPI) para usar en el mismo proyecto, siga estas reglas de este artículo.

http://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistence-of-asp-net-mvc-and-webapi.aspx