Soy nuevo en ASP.NET MVC y Web API y tratando de obtener los conceptos básicos. AFAIK, tenemos plantillas de proyecto en VS 2013, denominado como MVC, Web API y Both of them together.

He ido a través de los tutoriales y se enteró de que podemos hacer una API mediante el uso de MVC solos, como también con el API Web de Plantilla.

Así que, ¿cuáles son las diferencias entre estos, basado en Arquitectura y Uso?

InformationsquelleAutor loop | 2014-03-23

4 Comentarios

  1. 179

    Básicamente, un Web API controlador es un MVC controlador, el cual utiliza HttpMessageResponse como el tipo de base de su respuesta, en lugar de ActionResponse. Son los mismos que en la mayoría de los otros aspectos. La principal diferencia entre los tipos de proyecto es que el MVC Application tipo de proyecto agrega web específica cosas como predeterminado CSS, JavaScript archivos y otros recursos necesarios para un sitio web, que no son necesarios para una API.

    MVC se utiliza para la creación de sitios web. En este caso Controllers suelen devolver un View (es decir, la respuesta HTML) para solicitudes del navegador. Web Api por otro lado, son generalmente para ser consumidos por otras aplicaciones. Si desea permitir que otras aplicaciones para acceder a sus datos o funcionalidad, usted puede crear un Web API para facilitar este acceso. Por ejemplo, Facebook tiene una API para permitir a los desarrolladores de aplicaciones puedan acceder a la información sobre los usuarios que utilizan la Aplicación. Api Web no tiene que ser para el consumo público. También puede crear una API para apoyar sus propias aplicaciones. Por ejemplo, hemos creado una API Web para apoyar la funcionalidad de AJAX de nuestra web MVC sitio.

    Microsoft ha cambiado la forma en que presentan las diferentes plantillas. Ahora en lugar de usar diferentes plantillas para diferentes tipos de proyectos, que animar a los desarrolladores a la mezcla ASP.NET tecnologías dentro del mismo proyecto, según sea necesario. Microsoft llama a este vNext.

    ACTUALIZACIÓN: Para ASP.NET Núcleo, la API de Web se ha integrado en el MVC 6 tipo de proyecto y el ApiController clase se consolida en el Controller clase. Más detalles en: https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

    • Gracias Elad lo tengo.Puede usted hacer es editar a tu ans y añadir algo sobre Asp.net Identidad y Web Api 2 Sólo algunos ¿cómo van a ser utilizados y los beneficios.sólo algunas palabras.
    • Así que, de ninguna manera puedo acceder a un controlador de acción de dektop de la aplicación. incluso si yo uso adecuado de OBTENER la sintaxis para llamar a la URL?
  2. 70

    Mis dos centavos…

    1. En ASP.Net MVC – el MVC Controller decide cuál debe ser el View – es decir, el controlador decide lo que el usuario debe «ver» (basado en el actual escenario o contexto), cuando se realiza una solicitud.
    2. En ASP.Net los Formularios Web, el ASPX páginas decide lo que el usuario debe «ver» cuando se realiza una solicitud.
    3. Pero en Web API, no hay ningún control/poder a cualquiera de las API Web para decidir lo que el usuario debe «ver» cuando se realiza una solicitud.

    Web API, NO es una tecnología relacionada con los sitios web sólo. Puede ser utilizado para múltiples propósitos – no sólo los sitios web. Por lo que no sabe el significado de rendering

    Leer Más

    1. La planificación de Soluciones Web Hoy: Formularios Web, ASP.NET MVC, Web API, y OWIN.
    2. WCF o ASP.NET Web Api? Mis dos centavos sobre el tema
    3. La Próxima Generación de .NET – ASP.NET vNext
    4. Introducción a ASP.NET MVC 6
    • No puedo decir de la comparación de los códigos por qué WebAPI es más legible. Además, se ve que hay algo volcó allí, como es la Web de la API de la que se espera tener un método HTTP atributo como [HttpGet]. Comprobar algunos WebAPI (y WebAPI 2) código aquí
    • El aceptó la respuesta de los estados «Básicamente, un Web API controlador es un controlador MVC». Que simplemente erróneo. Su respuesta señala que el conjunto de la PUNTO de WebAPI es que NO MVC, que NO tener que lidiar con todo el equipaje y la carga para tratar con «Vistas» y «representación». … y WebApi controladores incluso no tiene que estar atado con sitios web sólo. Muy buena respuesta, gracias!
  3. 0

    Controlador MVC derivados de la clase de controlador. En Mvc puede devuelve puntos de vista. Mvc achitecture utiliza para crear una aplicación. Sin embargo api Web se utilizan para proporcionar datos para diversas aplicaciones.

    Web de la Api de unidades de Api controlador y no volver la vista.

    Nota: también puede crear una Web de la Api de controlador MVC pero necesita devolver el resultado como JsonResult o de otros web de la api admite tipos de retorno.

  4. 0

    Además de las respuestas ya que aquí, vale la pena destacar cualquier controlador que se hereda de ApiController y tener una acción con el verbo Http POST sólo puede tener un [FromBody] parámetro de entrada. Si se utiliza un controlador MVC (deriva de ‘Controlador’) puede tener muchos post parámetros de entrada.

Dejar respuesta

Please enter your comment!
Please enter your name here