Saltar al contenido

Leer una cadena de conexión desde appsettings.json

las aplicaciones .NET Core pueden aprovechar la potencia de appsettings.json para el desarrollo de aplicaciones web ademas de que este archivo puede ser usado en otros lenguajes de desarrollo para almacenar distintos valores.

en este articulo explicaremos que son y para que funcionan estos archivos ademas de como debes almacenar tu cadena de conexión para la lectura.

Índice

    Que son los appsettings.json?

    Son archivos JSON (JavaScript Object Notation) que se utilizan para guardar diversas configuraciones de tu aplicacion.

    Para utilizar la información almacenada en el archivo appsettings.json, tu aplicación debe estar configurada en consecuencia. Para ello, puedes emplear la clase «IConfiguración» en la base de código de tu programa para obtener resultados óptimos y facilidad de uso.

    appsettings.json desde MVC .net core

    En una aplicación basada en el patrón de arquitectura MVC (Model-View-Controller), puedes llamar a la cadena de conexión desde varios lugares diferentes, dependiendo de tu diseño específico. Algunos ejemplos comunes son:

    1. En el controlador: Puedes acceder a la cadena de conexión desde el controlador y utilizarla para interactuar con el modelo (por ejemplo, para recuperar datos de una base de datos).
    2. En el modelo: Si el modelo es responsable de interactuar directamente con la base de datos, puedes acceder a la cadena de conexión desde el modelo y utilizarla para establecer una conexión con la base de datos.
    3. En una clase de servicio: Puedes crear una clase de servicio que se encargue de manejar las conexiones a la base de datos y acceder a la cadena de conexión desde allí.

    Ejemplo leer desde la clase Startup

    public class Startup

    {

      private readonly IConfiguration _configuration;

      public Startup(IConfiguration configuration)

      {

        _configuration = configuration;

      }

    }

    Puedes agregar la cadena de conexión en el archivo Startup.cs y accederla desde allí, a través de la clase IConfiguration.

    En cualquier caso, es importante asegurar que el acceso a la cadena de conexión esté seguro y protegido de posibles accesos no autorizados.

    CRUD base de datos

    Appsettings.json aplicaciones .NET

    En las aplicaciones .NET Core y ASP.NET Core, la configuración de la aplicación se almacena en un archivo JSON denominado appsettings.json. Esta es la configuración predeterminada para los proyectos de .NET Core. Los archivos INI y XML también son compatibles, pero JSON es el predeterminado.

    Estructura de Appsettings.json

    {

     «ConnectionStrings«: {

      «myDb1»: «Server=myServer;Database=myDb1;Trusted_Connection=True;»,

      «myDb2»: «Server=myServer;Database=myDb2;Trusted_Connection=True;»

     }

    }

    Ahora podemos leerlo en nuestro código llamando al método GetConnectionString en el espacio de nombres Microsoft.Extensions.Configuration.

    Leer una cadena de conexion desde .net

    string myDb1ConnectionString = _configuration.GetConnectionString(«myDb1»);

    string myDb2ConnectionString = _configuration.GetConnectionString(«myDb2»);

    Para poder llamar al método, debe importar el espacio de nombres Microsoft.Extensions.Configuration de esta manera:

    using Microsoft.Extensions.Configuration;

    Como Leer desde python el appsettings.json ?

    Puedes utilizar la biblioteca «configparser» de Python para leer un archivo appsettings.json y acceder a la cadena de conexión. Primero, debes importar la biblioteca y crear una instancia del objeto ConfigParser. Luego, puedes utilizar el método read() para leer el archivo appsettings.json y el método get() para obtener el valor de la cadena de conexión.

    Aquí tienes un ejemplo de cómo hacerlo:

    import configparser

    config = configparser.ConfigParser()

    config.read(‘appsettings.json’)

    connection_string = config.get(‘section_name’, ‘connection_string’)

    print(connection_string)

    Ten en cuenta que debes cambiar «section_name» y «connection_string» por los valores correspondientes en tu archivo appsettings.json.

    Otra opción es utilizar la biblioteca json para leer el archivo

    import json

    with open(‘appsettings.json’) as json_file:

      data = json.load(json_file)

      connection_string = data[«section_name»][«connection_string»]

      print(connection_string)

    El almacenamiento de cadenas de conexión en appsettings.json facilita el cambio de configuración en producción sin tocar el código base ni volver a compilar. Una vez que aprenda sobre la configuración en .NET Core o python y qué métodos usar, es bastante fácil trabajar con él.

    Hasta la proxima gracias :D!!