Leer un archivo de configuración en formato JSON en .NET Core 2.0
En esta ocasión, voy a escribir una entrada en el blog que explique como hacer una aplicación de consola con .NET Core, que se encargará de leer un archivo de configuración en formato JSON, el cuál podremos leer e interpretar.
El ejemplo está desarrollado en .NET Core 2.0 y Visual Studio 2017.
Lo primero que haremos será iniciar Visual Studio 2017 y crear un proyecto nuevo con la plantilla .NET Core.
Le daré el nombre de AppSettingsSample, tal y como puedes ver en la siguiente imagen.
Dentro del proyecto, agregaré un fichero llamado appsettings.json.
Una vez creado este fichero, deberemos cambiar sus propiedades para que sea contenido del compilado, y copiarlo al directorio de salida en su compilación.
En el Explorador de Soluciones de Visual Studio 2017, tendremos algo parecido a esto:
A continuación, agregaremos dos paquetes NuGet a nuestro proyecto.
El primer paquete es Microsoft.Extensions.Configuration.
El segundo paquete a añadir es Microsoft.Extensions.Configuration.Json.
Este segundo paquete, nos permitirá acceder e interpretar el archivo de configuración en formato JSON.
Una vez hecho esto, modificaremos el archivo appsettings.json y agregaremos el siguiente código:
{ "Logging": { "LogFile": "logFile.log" } }
Una vez hecho esto, iremos a nuestro código fuente y escribiremos el siguiente código dentro de Program.cs:
using Microsoft.Extensions.Configuration; using System; using System.IO; namespace AppSettingsSample { public class Program { private static string logFile; public static void Main(string[] args) { // Set up configuration sources. var builder = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); var configuration = builder.Build(); logFile = configuration["Logging:LogFile"]; Console.WriteLine($"LogFile: {logFile}"); var dateTime = DateTime.Now; WriteToLog($"Test at {dateTime}"); Console.WriteLine("The text has been registered on the log"); Console.ReadLine(); } private static void WriteToLog(string text) { var log = File.AppendText(logFile); log.WriteLine(text); log.Dispose(); } } }
Analizando el código del ejemplo, vemos que a través de ConfigurationBuilder(), establecemos el fichero de configuración que deseamos utilizar, y leemos de la sección que corresponde, la información que en nuestro caso nos interesa, y que no es otra cosa que un fichero de log dentro del cuál escribiremos algún contenido.
Posteriormente, escribimos en el fichero de log una información para demostrar el flujo completo.
Puedes acceder al código fuente del ejemplo en este enlace.
¡Happy Coding!
One Responseso far
es ta bien definido