# Servicios REST con .NET Core

## Servicios REST con .NET Core

- [Servicios REST con ASP.NET Core y Entity Framework Core](https://abi.gitbook.io/net-core/master.md): Tutorial para crear servicios REST con Entity Framework Core
- [1. Introducción](https://abi.gitbook.io/net-core/introduccion.md)
- [1.1 Instalación Visual Studio Community](https://abi.gitbook.io/net-core/introduccion/instalacion-asp-.net-core.md)
- [1.2 Instalación de SQL Server en Mac](https://abi.gitbook.io/net-core/introduccion/2.-instalacion-de-sql-server-en-mac.md)
- [1.3 Extensión Intellicode](https://abi.gitbook.io/net-core/introduccion/3.6-extension-intellicode.md)
- [1.4 Aplicación de ejemplo](https://abi.gitbook.io/net-core/introduccion/aplicacion-de-ejemplo.md): Aplicación para registrar fechas de caducidad de productos de difentes clientes
- [2. Explicación de Conceptos](https://abi.gitbook.io/net-core/3.-servicios-rest.md)
- [2.1 Servicios REST](https://abi.gitbook.io/net-core/3.-servicios-rest/3.1-servicios-rest.md)
- [2.1.1 OData](https://abi.gitbook.io/net-core/3.-servicios-rest/3.1-servicios-rest/3.1.1-odata.md)
- [2.1.2 GraphQL](https://abi.gitbook.io/net-core/3.-servicios-rest/3.1-servicios-rest/3.1.2-graphql.md)
- [2.2 Entity Framework para versiones de tu base de datos](https://abi.gitbook.io/net-core/3.-servicios-rest/3.1-generar-versiones-de-tu-base-de-datos.md)
- [2.3 Paquetes Nuget](https://abi.gitbook.io/net-core/3.-servicios-rest/3.3-paquetes-nuget.md)
- [2.4 Archivo de recursos](https://abi.gitbook.io/net-core/3.-servicios-rest/3.4-archivo-de-recursos.md)
- [2.5 Estructura de los Proyectos .Net Core](https://abi.gitbook.io/net-core/3.-servicios-rest/3.1-estructura-del-proyecto.md)
- [2.6 Código Limpio](https://abi.gitbook.io/net-core/3.-servicios-rest/4.7-refactorizando-tu-codigo.md)
- [2.7 Programación asíncrona](https://abi.gitbook.io/net-core/3.-servicios-rest/3.9-programacion-asincrona.md)
- [2.8 Git](https://abi.gitbook.io/net-core/3.-servicios-rest/3.10-git.md)
- [2.9 ¿Qué es Scrum?](https://abi.gitbook.io/net-core/3.-servicios-rest/2.9-que-es-scrum.md)
- [2.9.1 Personas](https://abi.gitbook.io/net-core/3.-servicios-rest/2.9-que-es-scrum/2.9.1-personas.md)
- [2.9.2 Roles Scrum](https://abi.gitbook.io/net-core/3.-servicios-rest/2.9-que-es-scrum/2.9.1-roles-scrum.md)
- [2.9.3 Backlog](https://abi.gitbook.io/net-core/3.-servicios-rest/2.9-que-es-scrum/2.9.2-backlog.md)
- [2.9.4 Reuniones del Scrum](https://abi.gitbook.io/net-core/3.-servicios-rest/2.9-que-es-scrum/2.9.3-flujo-de-trabajo.md)
- [3. Control de código fuente y Scrum con Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion.md): Como compartir tu código con GitHub y Azure DevOps
- [3.1 Introducción a Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services.md)
- [3.1.1 Crear un nuevo Proyecto en Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.1-crear-un-nuevo-proyecto.md)
- [3.1.2 Agregando personas al equipo de trabajo](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.1.2-agregando-personas-al-equipo-de-trabajo.md)
- [3.1.3 Agregando los sprints y la capacidad de trabajo](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.3-agregando-los-sprints-y-la-capacidad-de-trabajo.md)
- [3.1.4 Crear el Backlog y asignar User Stories al Sprint](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.2-agregar-backlogs-y-tareas.md)
- [3.1.5 Crear Prototipos](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.3-crear-prototipos.md)
- [3.1.6 Conectar a Azure DevOps desde Visual Studio](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.5-conectar-a-azure-devops-desde-visual-studio.md)
- [3.1.6.1 Crear tu proyecto con Visual Studio Community y sincronizarlo a Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.5-conectar-a-azure-devops-desde-visual-studio/2.2.4-crear-el-proyecto-y-sincronizarlo-con-visual-studio-team-services.md)
- [3.1.7 Consultar tus tareas pendientes](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.5-consultar-tus-tareas-pendientes.md)
- [3.1.7.1 Tareas y Dashboards con Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.5-consultar-tus-tareas-pendientes/3.1.6.1-tareas-y-dashboards-con-azure-devops.md)
- [3.1.7.2 Consultar tus tareas desde Visual Studio Community](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/2.2.5-consultar-tus-tareas-pendientes/3.1.5.1-consultar-tus-tareas-desde-visual-studio-community.md)
- [3.1.8 Trabajando con Ramas (Branches)](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.7-trabajando-con-ramas-branches-en-visual-studio.md)
- [3.1.8.1 Crear la rama desarrollo desde Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.7-trabajando-con-ramas-branches-en-visual-studio/3.1.6.7-crear-branches-para-tus-tareas.md)
- [3.1.8.1 Crear una rama(branch) desde tu tarea en Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.7-trabajando-con-ramas-branches-en-visual-studio/3.1.6.7-crear-branches-para-tus-tareas/3.1.8.2-crear-una-rama-branch-para-tus-tareas-desde-azure-devops.md)
- [3.1.8.2 Como trabajar con ramas (branches) desde Visual Studio Community](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.7-trabajando-con-ramas-branches-en-visual-studio/3.1.8.3-crear-una-rama-branch-desde-visual-studio-community.md)
- [3.1.8.3 Crear el Pull Request con Azure DevOps](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.7-trabajando-con-ramas-branches-en-visual-studio/3.1.8.3-crear-el-pull-request-con-azure-devops.md)
- [3.1.9 Retrospectiva del Sprint](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.9-retrospectiva-del-sprint.md)
- [3.1.10 Agregando una Wiki](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-visual-studio-team-services/3.1.10-agregando-una-wiki.md)
- [3.2 Integrando tu código fuente a GitHub](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github.md)
- [3.2.1 Trabajando con ramas en GitHub](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.10.1-creando-ramas-en-github.md)
- [3.2.2 Sincronizar los cambios del código con GitHub y Visual Studio](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.4-sincronizar-los-cambios-del-codigo-con-github.md)
- [3.3 Trabajando con Branches (Ramas) con Visual Studio](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.3-trabajando-con-branches-ramas-con-visual-studio.md)
- [3.3.1 Branches con Visual Studio](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.3-trabajando-con-branches-ramas-con-visual-studio/3.10.2-trabajando-con-ramas-con-visual-studio.md)
- [3.3.2 Creando un template para tus PR (Pull Request)](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.3-trabajando-con-branches-ramas-con-visual-studio/3.3.2-creando-un-template-para-tus-pr-pull-request.md)
- [3.3.3 Protegiendo tu branch](https://abi.gitbook.io/net-core/tu-primer-aplicacion/integrando-tu-codigo-fuente-a-github/3.3-trabajando-con-branches-ramas-con-visual-studio/3.3.3-protegiendo-tu-branch.md)
- [4. Creando tu primer servicio](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio.md)
- [4.1 Crear las base de datos y los usuarios en MySQL](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/creando.md)
- [4.2 Crear la tabla Categoría y sus validaciones](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.2-crear-las-tablas.md)
- [4.3 Creando el servicio Categorias](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.3-creando-el-servicio.md)
- [4.4 Probando tus servicios con POSTMAN](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.4-probando-tus-servicios-con-postman.md)
- [4.5 Documentar y Probar tus servicios con Swagger](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.5-documentar-y-probar-tus-servicios-con-swagger.md)
- [4.5.1 Configurar Swagger](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.5-documentar-y-probar-tus-servicios-con-swagger/4.5.1-configurar-swagger.md)
- [4.5.2 Comentarios XML](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.5-documentar-y-probar-tus-servicios-con-swagger/4.5.2-comentarios-xml.md)
- [4.5.3 Generando la página de documentación](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.5-documentar-y-probar-tus-servicios-con-swagger/4.5.3-generando-la-pagina-de-documentacion.md)
- [4.6 Agregando índices](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.5.4-agregando-indices.md)
- [4.7 Mejorando tu código](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.7-mejorando-tu-codigo.md)
- [4.7.1 Creando Objetos de Accesos a Datos](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.7-mejorando-tu-codigo/4.7.1-creando-objetos-de-accesos-a-datos.md)
- [4.7.2 Creando tus mensajes de error en diferentes idiomas](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.7-mejorando-tu-codigo/4.7.2-creando-tus-mensajes-de-error-en-un-archivo-de-recursos.md)
- [4.7.3 Cambiando el formato del Json de los servicios](https://abi.gitbook.io/net-core/4.-creando-tu-primer-servicio/4.7-mejorando-tu-codigo/4.7.3-cambiando-el-formato-del-json-de-los-servicios.md)
- [5. Agregando el servicio para los productos](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos.md)
- [5.1 Crear la tabla de Productos](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.1-crear-la-tabla-de-productos.md)
- [5.2 Formas de cargar información de tablas relacionadas](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.2-crear-las-llaves-foraneas-e-indices.md)
- [5.3 Crear llaves fóraneas e índices](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.3-crear-llaves-foraneas-e-indices.md)
- [5.4 Creando el servicio Productos](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.4-creando-el-servicio-productos.md)
- [5.5 Validar Reglas Mejorando tu código](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.4-mejorando-tu-codigo.md)
- [5.5.1 Agregando una excepción a todos nuestros servicios](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.4-mejorando-tu-codigo/5.4.1-agregando-una-excepcion-a-todos-nuestros-servicios.md)
- [5.5.2 Agregando clases genéricas para validar y/o consultar información](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.4-mejorando-tu-codigo/5.4.2-agregando-una-clase-generica-para-las-tablas-de-las-bases-de-datos.md)
- [5.5.3 Alternativa para validar reglas con ef core](https://abi.gitbook.io/net-core/5.-agregando-el-servicio-para-los-productos/5.4-mejorando-tu-codigo/5.4.3-alternativa-para-validar-tablas.md)
- [6. Cambiar de base de datos a SQL Server](https://abi.gitbook.io/net-core/cambiar-los-servicios-a-sql-server.md)
- [6.1 Cambiar la base de datos a SQL Server](https://abi.gitbook.io/net-core/cambiar-los-servicios-a-sql-server/6.1-cambiar-la-base-de-datos-a-sql-server.md)
- [6.2 Cambiar a SQL Server en Azure](https://abi.gitbook.io/net-core/cambiar-los-servicios-a-sql-server/6.1.1-cambiar-a-sql-server-en-azure.md)
- [7. Crear servicios con OData](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata.md)
- [7.1.1 Creando el modelo Clientes](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.1-creando-el-modelo-clientes.md)
- [7.1.2 Creando el modelo ClienteCategoría](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.2-creando-el-modelo-clientecategoria.md)
- [7.1.3 Agregando paquete Nuget para OData](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.3-agregando-paquete-nuget.md)
- [7.1.4 Configurar el EDM Model](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.4-configurar-el-edm-model.md): Configurar en Startup el Entity Data Model
- [7.1.5 Configurar el servicio OData y llaves foráneas](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.5-configurar-el-servicio-odata.md)
- [7.1.6 Creando el Controller para clientes](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.7-creando-el-controller-para-clientes.md)
- [7.1.7 Configurar y probar los servicios con OData](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.8-configurando-odata-en-el-archivo-startup.cs.md)
- [7.1.8 Práctica Crear el servicio para ClientesCategorias](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/7.1.8-practica-crear-el-servicio-para-clientescategorias.md)
- [7.1.9 Recomendaciones de seguridad y rendimiento a tomar en cuenta con OData](https://abi.gitbook.io/net-core/6.2-configurar-tus-servicios-con-odata/6.2.9-recomendaciones-de-seguridad-y-rendimiento-a-tomar-en-cuenta-con-odata.md)
- [8. GraphQL](https://abi.gitbook.io/net-core/6.3-agregar-graphql.md)
- [8.1.1 Creando la tabla Caducidad](https://abi.gitbook.io/net-core/6.3-agregar-graphql/6.3.1.-creando-la-tabla-caducidad.md)
- [8.1.2 Creando el query](https://abi.gitbook.io/net-core/6.3-agregar-graphql/6.3.3-creando-el-query.md)
- [8.1.3 Configurando y probando graphQL](https://abi.gitbook.io/net-core/6.3-agregar-graphql/8.1.3-configurando-y-probando-graphql.md)
- [8.1.4 Creando la Mutation](https://abi.gitbook.io/net-core/6.3-agregar-graphql/6.3.4-creando-la-mutation.md)
- [8.1.5 Probando nuestros servicios con Postman](https://abi.gitbook.io/net-core/6.3-agregar-graphql/6.3.6-probando-nuestros-servicios.md)
- [9. Seguridad](https://abi.gitbook.io/net-core/7.-seguridad.md)
- [9.1 Json Web Tokens](https://abi.gitbook.io/net-core/7.-seguridad/7.1-json-web-tokens.md)
- [9.2 Seguridad basada en roles y usuarios](https://abi.gitbook.io/net-core/7.-seguridad/7.2-seguridad-basada-en-roles.md)
- [9.2.1 Creando nuestra tabla roles e insertando los roles principales](https://abi.gitbook.io/net-core/7.-seguridad/7.2-seguridad-basada-en-roles/7.3-creando-nuestra-tabla-roles-e-insertando-los-3-roles-principales.md)
- [9.2.2 Consideraciones de seguridad para almacenar tus passwords](https://abi.gitbook.io/net-core/7.-seguridad/7.2-seguridad-basada-en-roles/7.4-consideraciones-de-seguridad-para-almacenar-tus-passwords.md)
- [9.2.3 Creando las tablas para manejar la seguridad](https://abi.gitbook.io/net-core/7.-seguridad/7.2-seguridad-basada-en-roles/7.5-creando-tu-tabla-usuarios.md)
- [9.2.4 Agregando usuarios y roles](https://abi.gitbook.io/net-core/7.-seguridad/7.2-seguridad-basada-en-roles/7.6-agregando-usuarios-y-roles.md)
- [9.3 Agregando seguridad a nuestros servicios](https://abi.gitbook.io/net-core/7.-seguridad/7.7-agregando-seguridad-a-nuestros-servicios.md)
- [9.4 Creando nuestro servicio de login y generar el token](https://abi.gitbook.io/net-core/7.-seguridad/7.7-creando-nuestro-servicio-de-login-y-generar-el-token.md)
- [9.5 ¿Cómo agregar seguridad basada en roles a los Servicios REST?](https://abi.gitbook.io/net-core/7.-seguridad/7.9-como-agregar-seguridad-basada-en-roles-a-los-servicios-rest.md)
- [9.5.1 Seguridad basada en claims](https://abi.gitbook.io/net-core/7.-seguridad/7.9-como-agregar-seguridad-basada-en-roles-a-los-servicios-rest/7.10-seguridad-con-reglas-personalizadas.md)
- [9.5.2 Creando las tablas para validar permisos por cada tabla](https://abi.gitbook.io/net-core/7.-seguridad/7.9-como-agregar-seguridad-basada-en-roles-a-los-servicios-rest/7.11-seguridad-basada-en-directivas.md): Agregar permisos para crear, borrar, modificar, consultar a cada tabla
- [9.5.3 Seguridad basada en directivas](https://abi.gitbook.io/net-core/7.-seguridad/7.9-como-agregar-seguridad-basada-en-roles-a-los-servicios-rest/7.12-seguridad-basada-en-directivas.md)
- [9.5.4 Seguridad con Action Filters](https://abi.gitbook.io/net-core/7.-seguridad/7.9-como-agregar-seguridad-basada-en-roles-a-los-servicios-rest/7.13-seguridad-con-action-filters.md)
- [9.6 Guardando el historial de cambios](https://abi.gitbook.io/net-core/7.-seguridad/7.14-guardando-el-historial-de-cambios.md)
- [9.7 Refrescando tu token](https://abi.gitbook.io/net-core/7.-seguridad/7.7-refrescando-tu-token.md)
- [9.8 Seguridad Mejorando tu código](https://abi.gitbook.io/net-core/7.-seguridad/7.8-mejorando-tu-codigo.md)
- [9.8.1 ¿Cómo limitar el número de intentos incorrectos en el login?](https://abi.gitbook.io/net-core/7.-seguridad/7.8-mejorando-tu-codigo/7.8.1-como-limitar-el-numero-de-intentos-incorrectos-en-el-login.md)
- [9.8.2 ¿Cómo obtener la ciudad del usuario por medio de la IP?](https://abi.gitbook.io/net-core/7.-seguridad/7.8-mejorando-tu-codigo/7.8.2-como-obtener-la-ciudad-del-usuario-por-medio-de-la-ip.md)
- [9.8.3 Habilitando CORS](https://abi.gitbook.io/net-core/7.-seguridad/7.8-mejorando-tu-codigo/7.8.3-configurando-cors.md)
- [10. Pruebas Unitarias](https://abi.gitbook.io/net-core/8.-pruebas-unitarias.md)
- [10.1 Agregando el proyecto de pruebas unitarias](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.1-agregando-el-proyecto-de-pruebas-unitarias.md)
- [10.2 Crear una prueba unitaria](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.2-creando-nuestra-primer-prueba-unitaria.md)
- [10.2.1 Ejecutando las pruebas unitarias](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.2-creando-nuestra-primer-prueba-unitaria/8.2.1-ejecutando-las-pruebas-unitarias-en-windows.md)
- [10.3 Agregando una base de datos en memoria para nuestras pruebas unitarias](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.3-agregando-una-base-de-datos-en-memoria-para-nuestras-pruebas-unitarias.md)
- [10.4 Agregando la referencia de nuestro proyecto CaducaRest](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.3-agregando-la-referencia-de-nuestro-proyecto-caducarest.md)
- [10.4.1 Agregando paquetes nuget necesarios](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.3-agregando-la-referencia-de-nuestro-proyecto-caducarest/8.4.1-agregando-paquetes-nuget-necesarios.md)
- [10.5 Configurando Clases para Objetos Sustitutos](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.5-configurando-clases-para-objetos-sustitutos.md)
- [10.5.1 Configurando el Contexto para utilizar la base de datos en Memoria](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.5-configurando-clases-para-objetos-sustitutos/8.5.1-configurando-el-contexto-para-utilizar-la-base-de-datos-en-memoria.md)
- [10.5.2 Configurando el objeto para sustituir mensajes de Error por idioma](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.5-configurando-clases-para-objetos-sustitutos/8.5.2-configurando-el-objeto-para-sustituir-mensajes-de-error-por-idioma.md)
- [10.6 Agregando pruebas para las Categorías](https://abi.gitbook.io/net-core/8.-pruebas-unitarias/8.5-agregando-pruebas-para-las-categorias.md)
- [11. Integración continua](https://abi.gitbook.io/net-core/9.-integracion-continua.md)
- [11.1 ¿Qué es la integración continua?](https://abi.gitbook.io/net-core/9.-integracion-continua/9.1-que-es-la-integracion-continua.md)
- [11.2 Subir tu código fuente a BitBucket](https://abi.gitbook.io/net-core/9.-integracion-continua/9.2-creando-tu-repositorio-en-bitbucket.md)
- [11.2.1 Integración continua y pruebas automáticas con Bitbucket](https://abi.gitbook.io/net-core/9.-integracion-continua/9.2-creando-tu-repositorio-en-bitbucket/9.3-integracion-continua-con-bitbucket.md)
- [11.3 Integración continua y pruebas automáticas en Azure DevOps](https://abi.gitbook.io/net-core/9.-integracion-continua/9.2.2-integracion-continua-con-azuredevops.md)
- [12. Pruebas de integración](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion.md)
- [12.1 ¿Qué es SpecFlow?](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.1-que-es-specflow.md)
- [12.2 Agregando el proyecto de pruebas de integración](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.1-agregando-el-proyecto-de-pruebas-de-integracion.md)
- [12.3 Configurando Specflow](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.2-configurando-specflow.md)
- [12.4 Creando pruebas para el login](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.3-creando-pruebas-para-el-login.md)
- [12.5 Agregando las pruebas de Integración a Azure Devops](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-agregando-las-pruebas-de-integracion-a-azure-devops.md)
- [12.6 Specflow Mejorando tu código](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo.md)
- [12.6.1 Cambiando las pruebas a español](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/10.5.1-cambiando-las-pruebas-a-espanol.md)
- [12.6.2 Pasando tablas a nuestras pruebas](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/10.5.2-pasando-tablas-a-nuestras-pruebas.md)
- [12.6.3 Agregar los passwords como variables de ambiente](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/12.6.3-agregar-los-passwords-como-variables-de-ambiente.md)
- [12.6.4 Probando con SQLite](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/10.5.3-probando-con-sqlite.md)
- [12.6.5 Agregando diferentes parámetros con MSTest](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/agregando-diferentes-parametros-con-mstest.md)
- [12.6.6 Generando el reporte living doc de specflow](https://abi.gitbook.io/net-core/10.-pruebas-de-integracion/10.5-mejorando-tu-codigo/12.6.6-generando-el-reporte-living-doc-de-specflow.md)
- [13. Integración continua con Postman](https://abi.gitbook.io/net-core/14.-introduccion-a-postman.md)
- [13.1 Recomendaciones para probar tus servicios](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.1-recomendaciones-para-probar-tus-servicios.md)
- [13.2 Instrucciones básicas para probar con Postman](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.2-instrucciones-basicas-para-probar-con-postman.md)
- [13.3 Crear colecciones en Postman](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.1-probar-tus-servicios-con-postman.md)
- [13.4 Agregar pruebas a tus servicios](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.4-agregar-pruebas-a-tus-servicios.md)
- [13.5 Crear environments](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.5-crear-environments.md): Los environments permiten agregar variables para probar tus servicios con diferentes valores
- [13.6 Agregando datos de prueba con archivos .csv](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.6-agregando-datos-de-prueba-con-archivos-.csv.md)
- [13.7 Exportando tus colecciones y ejecutarlas con Newman.](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/14.6-utilizando-newman.md)
- [13.8 Agregando las colecciones de postman al pipeline](https://abi.gitbook.io/net-core/14.-introduccion-a-postman/13.8-agregando-las-colecciones-de-postman-al-pipeline..md)
- [14. Pruebas de usuario](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion.md)
- [14.1 Page Object Model](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/14.2-page-object-model.md)
- [14.2 ¿Qué es Selenium?](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/11.1-que-es-selenium.md)
- [14.2.1 Selenium Instrucciones básicas](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/11.1-que-es-selenium/11.1.1-instrucciones-basicas.md)
- [14.2.2 Agregando el proyecto de pruebas de usuario](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/11.1-que-es-selenium/11.2-agregando-el-proyecto-de-pruebas-de-usuario.md)
- [14.3 ¿Qué es Cypress?](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/12-que-es-cypress.md)
- [14.3.1 Cypress Instrucciones básicas](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/12-que-es-cypress/11.3.1-instrucciones-basicas.md)
- [14.4 ¿Qué es Playwright?](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/14.3-que-es-playwright.md)
- [14.4.1 Playwright Instrucciones básicas](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/14.3-que-es-playwright/14.4.1-playwright-instrucciones-basicas.md)
- [15. Despliegue Continuo con Azure DevOps y Azure](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery.md)
- [15.1 Crear un App Service en Azure](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery/12.-publicar-en-azure.md)
- [15.2 Generando Artifacts en Azure Pipelines](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery/12.1-publicando-automaticamente-a-azure.md)
- [15.3 Generando el Release en Azure Pipelines al App Service de Azure](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery/12.3-generando-el-release-en-azure-pipelines.md)
- [15.4 Ejecutando las colecciones de Postman después del release](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery/15.4-ejecutando-las-colecciones-de-postman-despues-del-release.md)
- [15.5 Agregando las pruebas de usuario en Azure Pipelines](https://abi.gitbook.io/net-core/12.-entrega-continua-continuous-delivery/12.4-agregando-las-pruebas-de-usuario-en-azure-pipelines.md)
- [16. Instalación en Windows Server e IIS](https://abi.gitbook.io/net-core/10.-instalacion-en-windows-server-e-iis.md)
- [16.1 Instalar IIS en Windows Server](https://abi.gitbook.io/net-core/10.-instalacion-en-windows-server-e-iis/16.1-instalar-el-iis-en-windows-server.md)
- [16.2 Instalación del  ASP.NET Core Module/Hosting Bundle](https://abi.gitbook.io/net-core/10.-instalacion-en-windows-server-e-iis/16.2-instalacion-del-asp.net-core-module-hosting-bundle.md)
- [16.3 Crea el Sitio Web en IIS](https://abi.gitbook.io/net-core/10.-instalacion-en-windows-server-e-iis/16.3-crea-el-sitio-web.md)
- [17. Instalación en Linux](https://abi.gitbook.io/net-core/11.-instalacion-en-linux.md)
- [17.1 Creando una máquina virtual linux en Azure](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/creando-una-maquina-virtual-linux-en-azure.md)
- [17.2 Habilitando el acceso remoto](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/11.2-habilitando-el-acceso-remoto.md)
- [17.3 Configura linux para .Net Core](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/11.3-configura-linux-para-.net-core.md)
- [17.4 Instalando mysql](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/11.4-instalando-mysql.md)
- [17.5 Instalando Nginx y configurando tu servicio](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/11.5-instalando-nginx.md)
- [17.6 Instalando un certificado SSL gratuito con CertBot](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/11.6-instalando-un-certificado-ssl-con-certbot.md)
- [17.7 Agregando diferentes subdominios](https://abi.gitbook.io/net-core/11.-instalacion-en-linux/17.7-agregando-diferentes-subdominios.md)
- [18. Docker](https://abi.gitbook.io/net-core/18.-docker.md)
