Saltar al contenido

Cómo leer el archivo web.config en la aplicación .Net Core

Necesitamos tu ayuda para compartir nuestras reseñas en referencia a las ciencias informáticas.

Solución:

Debido a que las aplicaciones .Net Core están alojadas en sí mismas y casi pueden ejecutarse en cualquier plataforma, ya no están alojadas en IIS. La configuración de la aplicación .Net Core se almacena en un Json formato (appsettings.json) de forma predeterminada, mientras que las configuraciones de la aplicación .Net Framework se almacenan en un web.config presentar en XML formato. Para obtener más información sobre las aplicaciones .Net Core, puede leer Configuración en ASP.NET Core. En mi caso, estaba intentando acceder a la capa de datos de un ensamblado de .Net Framework desde un ensamblado de .Net Core 2.0. Para lograr esto, no es necesario instalar el paquete System.Configuration.ConfigurationManager en la aplicación .Net Core, solo necesita agregar app.config al ensamblado .Net Core y luego agregue la conexión string lo:



  
    
  

Después de eso, todo funcionará bien. Asegúrate de usar la misma conexión string nombre (SHOPPINGCNN en mi caso) que usó en su aplicación .Net Framework, de lo contrario no obtendrá el resultado deseado. Hice esto en mi proyecto y funciona al 100%.

en .net core puedes usar ConfigurationBuilder para leer el archivo appsettings.json.

Puede implementar como sigue.

ejemplo appsettings.json


  "option1": "value1_from_json",
  "option2": 2,

  "ConnectionStrings": 
    "YourConnectionString": "............."
  

Ejemplo de código C#

static class YourClass

    public static IConfigurationRoot Configuration;

    public static string GetConnectionString()
    
         var builder = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json");

         Configuration = builder.Build();
         var connectionString = Configuration["ConnectionStrings:YourConnectionString"];

    


Para las aplicaciones .NET Core, la mejor manera es usar la API de configuración. Esta es una forma muy flexible y, gracias al patrón de proveedores, permite utilizar diferentes fuentes, no solo las más comunes. appsettings.json archivo (que por cierto es solo un archivo JSON y podría nombrarse de forma aleatoria):

  • Formatos de archivo (INI, JSON y XML)
  • Argumentos de la línea de comandos
  • Variables de entorno
  • Objetos .NET en memoria
  • Un almacén de usuarios cifrados Azure Key Vault
  • Proveedores personalizados, que usted instala o crea

ahora sobre ConfigurationManager . Al principio, .NET Core se vio obligado a olvidarse de esta clase: no estaba implementada ni admitida, y la idea era reemplazarla por completo proporcionando una nueva API de configuración.

Además, la realidad es que las aplicaciones ASP.NET Core ya no están alojadas a través de IIS (IIS ahora funciona principalmente como un proxy inverso), por lo que el web.config ya no es tan útil (a menos que se den casos excepcionales en los que aún necesita definir parámetros específicos para la configuración de IIS).

Sin embargo, después de que se proporcionó .NET Standard 2.0, este paquete nuget System.Configuration.ConfigurationManager está disponible y recupera el ConfigurationManager clase. Se hizo posible gracias a la nueva corrección de compatibilidad implementada en el nuevo .NET Core 2.0.

En cuanto a su caso, es difícil decir por qué tiene ‘null’ ya que no hay suficiente información:

  • puede ser una sección incorrecta en web.config
  • web.config no se puede copiar en su carpeta de salida/publicación

Nos puedes asentar nuestra tarea dejando un comentario o dejando una puntuación te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *