ASP.NET Web API Entrevista: Preguntas y Respuestas.

¿Qué es ASP.NET Web API?

Es un marco de trabajo (framework) encima del .NET framework, que simplifica la construcción de servicios HTTP para un amplio rango de clientes (incluyendo navegadores móviles).

Usando ASP.NET Web API podemos crear servicios que no están basados en SOAP como XML simple o cadenas JSON, etc. con muchas ventajas incluyendo

  • Crear servicios orientados a recursos usando las características completas de HTTP.
  • Exponer servicios a una variedad de clietnes fácilmente como navegadores o dispositivos móviles, etc.

¿Cuáles son las ventajas de usar ASP.NET Web API?

Usarlo tiene un gran número de ventajas pero las ventajas importantes son:

  • Funciona de la manera de HTTP usando verbos estándares como GET, POST, PUT, DELETE para operaciones CRUD (crear, reportar, actualizar, eliminar).
  • Soporte completo para enrutamiento.
  • Respuesta generada en formato JSON o XML usando MediaTypeFormatter.
  • Tiene la habilidad de ser hospedado en IIS (Internet Information Services) y fuera de IIS.
  • Soporta enlace de modelos y validación.
  • Soporte para OData.

¿Qué nuevas características son introducidas en ASP.NET Web API 2.0?

Las siguientes:

  • Enrutamiento de atributos.
  • Autenticación externa.
  • CORS (Cross-Origin Resource Sharing)
  • OWIN (Open Web Interface para .NET) auto hospedaje.
  • IHttpActionResult.
  • Web API OData.

¿WFC versus ASP.NET Web API?

WFC (Windows Communication Foundation) está diseñado para intercambiar mensajes estándares basados en SOAP usando una variedad de protocolos de transporte como HTTP, TCP, Named Pipes, MSMQ, etc.

Por otro lado, ASP.NET Web API es un marco de trabajo para construir servicios que no están basados en SOAP, solamente sobre HTTP.

¿Es verdad que ASP.NET Web API ha reemplazado WCF?

Es un concepto erróneo. Es sólo otra forma de construir servicios que no están basados en SOAP.

Tiene algunas ventajas añadidas pero WCF es aún la mejor opción para los siguientes escenarios:

  • Si vamos a usar un transporte diferente a HTTP como por ejemplo TCP, UDP o Named Pipes.
  • Escenario de encolamiento de mensajes usando MSMQ.
  • Comunicación de una sola vía o comunicación dúplex.

¿MVC versus ASP.NET Web API?

ASP.NET Web API crea simples servicios HTTP que devuelven datos crudos (RAW).

Por otro lado, ASP.NET MVC es utilizado para desarrollar aplicaciones web que generan Vistas así como datos. ASP.NET MVC facilita la generación de HTML fácilmente.

¿Cómo devolver una Vista desde un método ASP.NET Web API?

(Una pregunta difícil) No, no podemos devolver una Vista desde un método ASP.NET Web API.

¿Cómo restringir el acceso a un método Web API para un verbo específico HTTP?

Los atributos juegan un rol aquí. Fácilmente podemos restringir acceso a un método ASP.NET Web API usando un específico método HTTP. Por ejemplo podríamos tener que restringir un método Web API a través del verbo HTTP POST así:

[HttpPost]
public void UpdateStudent(Student aStudent)
{
   StudentRepository.AddStudent(aStudent);
}

¿Podemos utilizar Web API con un formulario web ASP.NET?

Sí, ASP.NET Web API está enlazado con el marco de trabajo ASP.NET MVC pero todavía puede ser utilizado con un formulario web ASP.NET.
Puede ser hecho en 3 simples pasos:

  1. Crear un controlador Web API.
  2. Agregar una tabla de ruteo al método Application_Start del Global.asax.
  3. Hacer una llamada jQuery AJAX al método Web API y obtener los datos.

¿Cómo podemos proveer de un nombre alias para una acción ASP.NET Web API?

Usando un atributo “ActionName”.

[HttpPost]
[ActionName("SaveStudentInfo")]
public void UpdateStudent(Student aStudent)
{
   StudentRepository.AddStudent(aStudent);
}

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s