Etiquetas

, , ,

Hace más de un año de mi último post, y aunque durante este tiempo he aprendido mucho quizás no haya encontrado el momento para compartirlo. Hoy retomo una sana costumbre. Escribir esas cosas que voy aprendiendo.

De bien nacido es ser agradecido, y hoy tengo que darle las gracias a un nuevo compañero, el cual con sus ganas de aprender me ha hecho embarcarme en la aventura de aprender Framework Core 2.

¿Y por dónde empezar? Pues por el principio. Las configuraciones. Siempre he usado mi System.Configuration.ConfigurationManager.AppSetting[“sssss”] o System.Configuration.ConfigurationManager.ConnectionString[“sssss”], para ceder a mis viejas configuraciones de los web.config o app.config.

Ahora vemos que nuestro proyecto no lo tiene estas configuraciones y que depende de un appsettings.json, y una nueva forma de escribir variables.

{

“ConnectionStrings”: {

“DefaultConnection”: “Server=(localdb)\\mssqllocaldb;Database=aspnet-WebASPNETCore-5FE0AC38-46EE-4A95-AE2B-D89D241FE810;Trusted_Connection=True;MultipleActiveResultSets=true”

},

“option1”: “value1_from_json”,

“option2”: 2,

 

“subsection”: {

“suboption1”: “subvalue1_from_json”

},

“wizards”: [

{

“Name”: “Gandalf”,

“Age”: “1000”

},

{

“Name”: “Harry”,

“Age”: “17”

}

]

}

Aquí observamos que se ha cambiado todo el config, pero es más intuitivo se trata de nombrar una sección y después un conjunto de variables. O simplemente claves de nombre valor.

Para recuperar un connection string desde el asp.net haremos lo siguiente:

var builder = new ConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile(“appsettings.json”);

 

var Configuration = builder.Build();

var con= Configuration.GetConnectionString(“DefaultConnection”);

 

Y esto en este Proyecto funciona porque ya están incluidos un conjunto de paquetes de nuget muy significativos e importantes. Por eso para que desde una clase se pueda hacer lo mismo hay que incluir las siguientes dependencias:

Para acceder a una variable sencilla utilizaremos la siguiente sentencia:

Configuration[“option1”]

Siendo el configuration el objeto Iconfiguration generado por el builder.

En caso de una variable dentro de una sección haremos lo siguiente:

Configuration[“subsection:suboption1”]

Y hasta aquí el post de hoy, espero que les sirva de ayuda

 

Un saludo.

Anuncios