{"id":1438,"date":"2021-12-13T13:28:34","date_gmt":"2021-12-13T13:28:34","guid":{"rendered":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?p=1438"},"modified":"2021-12-16T16:03:14","modified_gmt":"2021-12-16T16:03:14","slug":"anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api","status":"publish","type":"post","link":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\/","title":{"rendered":"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1447\" src=\"http:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg\" alt=\"\" width=\"888\" height=\"510\" srcset=\"https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg 888w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6-300x172.jpg 300w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6-768x441.jpg 768w, https:\/\/encaminablogs.wpenginepowered.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6-610x350.jpg 610w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/p>\n<p>Ahora que tenemos .Net 6 disponible para desarrollar, es necesario que nos acostumbremos a ciertos cambios relativos a la configuraci\u00f3n y ubicaci\u00f3n de determinados fragmentos de c\u00f3digo as\u00ed como a nueva nomenclatura y significativos cambios que tienen el fin de simplificar el desarrollo.<\/p>\n<p><!--more--><\/p>\n<p>Entre estos cambios, se encuentra el especificar los ficheros y otros or\u00edgenes de configuraci\u00f3n de nuestras aplicaciones, es decir, de d\u00f3nde se tomar\u00e1n los valores de las variables de entorno y configuraci\u00f3n a la hora de ejecutar las aplicaciones.<\/p>\n<h2>\u00bfD\u00f3nde especificamos los or\u00edgenes de configuraci\u00f3n de la aplicaci\u00f3n?<\/h2>\n<p>Como ya vimos\u00a0<a href=\"https:\/\/blog.santiagoporras.com\/dot-net-6-startup-cs\/\">en un art\u00edculo anterior<\/a>, el fichero Program.cs es resultado de la fusi\u00f3n con el antiguo Startup.cs\u00a0 que ha cambiado bastante su apariencia y la forma de escribir c\u00f3digo en \u00e9l. No obstante, lo que no ha cambiado es que sigue siendo el lugar adecuado para especificar y configurar los ficheros y otros or\u00edgenes de configuraci\u00f3n de las aplicaciones desarrolladas con .Net 6<\/p>\n<h2>\u00bfC\u00f3mo se hac\u00eda en versiones anteriores?<\/h2>\n<p>Si echamos un vistazo a lo que hac\u00edamos en versiones anteriores de .Net, aprovech\u00e1bamos la declaraci\u00f3n de una propiedad p\u00fablica y est\u00e1tica de tipo IConfiguration donde defin\u00edamos los or\u00edgenes de la configuraci\u00f3n.<\/p>\n<p>En el c\u00f3digo que os adjunto a continuaci\u00f3n, correspondiente a .Net Core 3.1, establecemos que se busque en el fichero actual de la aplicaci\u00f3n el fichero appsettings.json, indicando que es opcional su existencia. Posteriormente se, carga el fichero appsettings correspondiente al entorno de ejecuci\u00f3n definido en una variable de entorno llamada ASPNETCORE_ENVIRONMENT o, en su defecto Production, que, en caso de contener variables ya cargadas anteriormente las sobreescribir\u00eda. Por \u00faltimo, se define un HostBuilder al que se le indica que levante el fichero que contiene la clase Startup que corresponde a Startup.cs<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\r\npublic static IConfiguration Configuration { get; } = new ConfigurationBuilder()\r\n    .SetBasePath(Directory.GetCurrentDirectory())\r\n    .AddJsonFile(&quot;appsettings.json&quot;, optional: false, reloadOnChange: true)\r\n    .AddJsonFile($&quot;appsettings.{Environment.GetEnvironmentVariable(&quot;ASPNETCORE_ENVIRONMENT&quot;) ?? &quot;Production&quot;}.json&quot;, optional: true)\r\n    .AddEnvironmentVariables()\r\n    .Build();\r\n \r\npublic static IHostBuilder CreateHostBuilder(string&#x5B;] args) =&gt;\r\n    Host.CreateDefaultBuilder(args)\r\n         .ConfigureWebHostDefaults(webBuilder =&gt;\r\n         {\r\n             webBuilder\r\n                 .UseContentRoot(Directory.GetCurrentDirectory())\r\n                 .UseStartup&lt;Startup&gt;();\r\n         });\r\n\r\n<\/pre>\n<h2>Agregar el c\u00f3digo con los ficheros y otros or\u00edgenes de configuraci\u00f3n en .Net 6<\/h2>\n<p>Con el nuevo Program.cs, aunque el concepto es el mismo, la forma de trabajar es algo diferente. Vamos a analizar el c\u00f3digo antes de ver c\u00f3mo a\u00f1adir los or\u00edgenes de configuraci\u00f3n.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" class=\"wp-image-1904 lazyloaded\" src=\"https:\/\/blog.santiagoporras.com\/wp-content\/uploads\/2021\/11\/image-16.png\" alt=\"\" data-srcset=\"\/wp-content\/uploads\/2021\/11\/image-16.png 806w, \/wp-content\/uploads\/2021\/11\/image-16-300x220.png 300w, \/wp-content\/uploads\/2021\/11\/image-16-768x564.png 768w, \/wp-content\/uploads\/2021\/11\/image-16-720x529.png 720w\" data-src=\"\/wp-content\/uploads\/2021\/11\/image-16.png\" data-sizes=\"(max-width: 806px) 100vw, 806px\" \/><\/figure>\n<p>Tenemos una variable llamada builder que es la encargada de inicializar el constructor de la aplicaci\u00f3n con los valores por defecto, en caso de que no se especifique lo contrario. Por lo tanto, la aplicaci\u00f3n cargar\u00e1 el fichero appsettings.json y su variante appsettings.Development.json si estamos depurando. Pero,<strong> \u00bfqu\u00e9 ocurre si queremos cambiar este comportamiento y a\u00f1adir nuevos ficheros?<\/strong><\/p>\n<p>Teniendo en cuenta que ya disponemos de un builder, s\u00f3lo ser\u00e1 necesario indicarle que debe cargar la configuraci\u00f3n de la forma que queremos. Para ello, crearenos un ConfigurationBuilder donde establezcamos el orden como hac\u00edamos en versiones anteriores de .Net<\/p>\n<div>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvar configBuilder = new ConfigurationBuilder()\r\n    .SetBasePath(Directory.GetCurrentDirectory())\r\n    .AddJsonFile(&quot;appsettings.json&quot;, optional: false, reloadOnChange: true)\r\n    .AddJsonFile($&quot;appsettings.{Environment.GetEnvironmentVariable(&quot;ASPNETCORE_ENVIRONMENT&quot;) ?? &quot;Production&quot;}.json&quot;, optional: true)\r\n    .AddEnvironmentVariables()\r\n    .Build();\r\n<\/pre>\n<p>Finalmente, indicaremos al builder de la aplicaci\u00f3n que la configuraci\u00f3n la debe obtener de la variable anterior con la siguiente l\u00ednea.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\r\nbuilder.WebHost.UseConfiguration(configBuilder);\r\n\r\n<\/pre>\n<p>Hecho esto, la aplicaci\u00f3n Web o Api cargar\u00e1 los ficheros de configuraci\u00f3n en el orden que le hemos especificado.<\/p>\n<h2>A\u00f1adir Azure App Configuration como origen de configuraci\u00f3n<\/h2>\n<p>Si finalmente queremos a\u00f1adir <a href=\"https:\/\/docs.microsoft.com\/es-es\/azure\/azure-app-configuration\/overview\">Azure App Configuration<\/a> a nuestra aplicaci\u00f3n, utilizaremos la variable \u00abbuilder\u00bb principal para llamar al m\u00e9todo AddAzureAppConfiguration que se encuentra dentro del espacio de nombres Configuration, tal y como se muestra en el c\u00f3digo.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\r\nif (!builder.Environment.IsDevelopment())\r\n{\r\n    builder.Configuration.AddAzureAppConfiguration(options =&gt;\r\n    {\r\n        options.Connect(builder.Configuration&#x5B;&quot;AzureAppConfigurationUri&quot;])\r\n            .Select(KeyFilter.Any, null)\r\n            .Select(KeyFilter.Any, &quot;MY_APP_LABEL&quot;)\r\n            .ConfigureRefresh(refresh =&gt;\r\n            {\r\n                refresh.Register(&quot;Sentinel&quot;, refreshAll: true)\r\n                    .SetCacheExpiration(new TimeSpan(0, 10, 0));\r\n            });\r\n    });\r\n}\r\n\r\n<\/pre>\n<p>Como se puede observar, lo primero que hacemos es comprobar que no estamos en entorno de desarrollo, porque en este entorno, al menos desde mi punto de vista, no es AppConfiguration con lo que debemos trabajar. No ser\u00e1 del todo productivo al no poder controlar en muchos casos las distintas variables de configuraci\u00f3n.<\/p>\n<p>Posteriormente, se realiza la conexi\u00f3n mediante la \u00abconnectionstring\u00bb que obtenemos de los ficheros de configuraci\u00f3n (o configuraci\u00f3n del propio App Service si lo tenemos publicado), se escogen las etiquetas que no tengan Label que yo uso como gen\u00e9ricas a todos los entornos, se sobrescriben las etiquetas que tengan el label \u00abMY_APP_LABEL\u00bb y finalmente, se configura el refresco de los valores de las etiquetas seleccionadas cada 5 minutos.<\/p>\n<p>Con esto, la configuraci\u00f3n que pueda ser cargada mediante los ficheros de configuraci\u00f3n, quedar\u00e1 sobrescrita por la que podamos tener en Azure App Configuration.<\/p>\n<h2>Resumen<\/h2>\n<p>Aunque se haya hecho un gran lavado de cara de .NET y ASP.NET Core 6 con esta nueva versi\u00f3n, podemos seguir realizando las mismas tareas, eso s\u00ed, con alg\u00fan cambio que en principio es para mejor.<\/p>\n<p>Espero que os sirva para continuar en la adopci\u00f3n de .Net 6 como nuevo framework para desarrollar vuestras aplicaciones de una forma m\u00e1s simple y eficiente.<\/p>\n<p>Enjoy coding!<\/p>\n<\/div>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content --><span class=\"et_bloom_bottom_trigger\"><\/span>","protected":false},"excerpt":{"rendered":"<p>Ahora que tenemos .Net 6 disponible para desarrollar, es necesario que nos acostumbremos a ciertos cambios relativos a la configuraci\u00f3n y ubicaci\u00f3n de determinados fragmentos de c\u00f3digo as\u00ed como a nueva nomenclatura y significativos cambios que tienen el fin de &hellip; <a href=\"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":22,"featured_media":1447,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1438","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api | ENCAMINA<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api\" \/>\n<meta property=\"og:description\" content=\"Ahora que tenemos .Net 6 disponible para desarrollar, es necesario que nos acostumbremos a ciertos cambios relativos a la configuraci\u00f3n y ubicaci\u00f3n de determinados fragmentos de c\u00f3digo as\u00ed como a nueva nomenclatura y significativos cambios que tienen el fin de &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/\" \/>\n<meta property=\"og:site_name\" content=\"Piensa en software, desarrolla en colores\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-13T13:28:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-12-16T16:03:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"888\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Santiago Porras Rodr\u00edguez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@saintwukong\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Santiago Porras Rodr\u00edguez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\\\/\"},\"author\":{\"name\":\"Santiago Porras Rodr\u00edguez\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c84cf613b7c5b8d5e1f7625a3e4c8c27\"},\"headline\":\"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api\",\"datePublished\":\"2021-12-13T13:28:34+00:00\",\"dateModified\":\"2021-12-16T16:03:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\\\/\"},\"wordCount\":965,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2021\\\/12\\\/Net.6.jpg\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\\\/\",\"url\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/\",\"name\":\"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api | ENCAMINA\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2021\\\/12\\\/Net.6.jpg\",\"datePublished\":\"2021-12-13T13:28:34+00:00\",\"dateModified\":\"2021-12-16T16:03:14+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c84cf613b7c5b8d5e1f7625a3e4c8c27\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/blog.santiagoporras.com\\\/dot-net6-configuracion-settings-web-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2021\\\/12\\\/Net.6.jpg\",\"contentUrl\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/wp-content\\\/uploads\\\/sites\\\/21\\\/2021\\\/12\\\/Net.6.jpg\",\"width\":888,\"height\":510},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#website\",\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/\",\"name\":\"Piensa en software, desarrolla en colores\",\"description\":\"Las ventajas que te ofrece Microsoft Azure y el mundo.NET\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/#\\\/schema\\\/person\\\/c84cf613b7c5b8d5e1f7625a3e4c8c27\",\"name\":\"Santiago Porras Rodr\u00edguez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g\",\"caption\":\"Santiago Porras Rodr\u00edguez\"},\"description\":\"Innovation Team Leader at ENCAMINA | MVP in Developer Technologies. Apasionado por las nuevas tecnolog\u00edas. Colaboro con la comunidad de desarrolladores escribiendo art\u00edculos en mi blog personal y ocasionalmente en CompartiMOSS.com. Adem\u00e1s, soy uno de los coordinadores de TenerifeDev, grupo de usuarios de .NET de Tenerife y de otros grupos como Comunidad Office 365. Puedes encontrarme en la red microparticipando en Twitter con el usuario @saintwukong\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/saintwukong\"],\"url\":\"https:\\\/\\\/blogs.encamina.com\\\/piensa-en-software-desarrolla-en-colores\\\/author\\\/en-tu-casa-o-en-la-mia\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api | ENCAMINA","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/","og_locale":"es_ES","og_type":"article","og_title":"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api","og_description":"Ahora que tenemos .Net 6 disponible para desarrollar, es necesario que nos acostumbremos a ciertos cambios relativos a la configuraci\u00f3n y ubicaci\u00f3n de determinados fragmentos de c\u00f3digo as\u00ed como a nueva nomenclatura y significativos cambios que tienen el fin de &hellip; Continue reading &rarr;","og_url":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/","og_site_name":"Piensa en software, desarrolla en colores","article_published_time":"2021-12-13T13:28:34+00:00","article_modified_time":"2021-12-16T16:03:14+00:00","og_image":[{"width":888,"height":510,"url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg","type":"image\/jpeg"}],"author":"Santiago Porras Rodr\u00edguez","twitter_card":"summary_large_image","twitter_creator":"@saintwukong","twitter_misc":{"Escrito por":"Santiago Porras Rodr\u00edguez","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#article","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\/"},"author":{"name":"Santiago Porras Rodr\u00edguez","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c84cf613b7c5b8d5e1f7625a3e4c8c27"},"headline":"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api","datePublished":"2021-12-13T13:28:34+00:00","dateModified":"2021-12-16T16:03:14+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\/"},"wordCount":965,"commentCount":0,"image":{"@id":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/anadir-ficheros-y-otros-origenes-de-configuracion-en-una-aplicacion-web-o-api\/","url":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/","name":"A\u00f1adir ficheros y otros or\u00edgenes de configuraci\u00f3n en una aplicaci\u00f3n Web o Api | ENCAMINA","isPartOf":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#primaryimage"},"image":{"@id":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg","datePublished":"2021-12-13T13:28:34+00:00","dateModified":"2021-12-16T16:03:14+00:00","author":{"@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c84cf613b7c5b8d5e1f7625a3e4c8c27"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blog.santiagoporras.com\/dot-net6-configuracion-settings-web-api\/#primaryimage","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg","contentUrl":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-content\/uploads\/sites\/21\/2021\/12\/Net.6.jpg","width":888,"height":510},{"@type":"WebSite","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#website","url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/","name":"Piensa en software, desarrolla en colores","description":"Las ventajas que te ofrece Microsoft Azure y el mundo.NET","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/#\/schema\/person\/c84cf613b7c5b8d5e1f7625a3e4c8c27","name":"Santiago Porras Rodr\u00edguez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/626d42f63b21b55341f07a1a63002469e3b64521b19c99273621705f28165d74?s=96&d=mm&r=g","caption":"Santiago Porras Rodr\u00edguez"},"description":"Innovation Team Leader at ENCAMINA | MVP in Developer Technologies. Apasionado por las nuevas tecnolog\u00edas. Colaboro con la comunidad de desarrolladores escribiendo art\u00edculos en mi blog personal y ocasionalmente en CompartiMOSS.com. Adem\u00e1s, soy uno de los coordinadores de TenerifeDev, grupo de usuarios de .NET de Tenerife y de otros grupos como Comunidad Office 365. Puedes encontrarme en la red microparticipando en Twitter con el usuario @saintwukong","sameAs":["https:\/\/x.com\/saintwukong"],"url":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/author\/en-tu-casa-o-en-la-mia\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/1438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/comments?post=1438"}],"version-history":[{"count":0,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/posts\/1438\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/media\/1447"}],"wp:attachment":[{"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/media?parent=1438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/categories?post=1438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.encamina.com\/piensa-en-software-desarrolla-en-colores\/wp-json\/wp\/v2\/tags?post=1438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}