¿Cómo puedo agregar y leer el valor del archivo web.config?Variable de lectura de Web.Config
Respuesta
Le sugiero que no modifique web.config, ya que cada vez que cambie, reiniciará la aplicación.
Sin embargo se puede leer utilizando web.config System.Configuration.ConfigurationManager.AppSettings
Gracias Sr.Muhammed, ¿qué me aconseja que haga para guardar una variable en un lugar público que se puede cambiar sin volver a configurar la aplicación web? Gracias de antemano –
Puede almacenar dichas variables en un archivo XML cifrado. – vamyip
sí, el archivo XML es la mejor idea. O puede almacenarlo en DB y agregarlo en application_start (Global.asax), ponerlo en la variable de aplicación y usarlos en la aplicación. estas variables se asignan solo una vez en la aplicación y si la aplicación se reinicia, estas se asignarán de nuevo. –
Suponiendo que la clave está contenido dentro del nodo <appSettings>
:
ConfigurationSettings.AppSettings["theKey"];
En cuanto a la "escritura" - en pocas palabras, no haga .
El web.config no está diseñado para eso, si va a cambiar constantemente un valor, póngalo en una clase de ayuda estática.
Ryan Farley tiene un gran post sobre esto en su blog, incluyendo todas las razones por las cuales no escribir de nuevo en archivos web.config: Writing to Your .NET Application's Config File
Dada la siguiente web.config: uso
<appSettings>
<add key="ClientId" value="127605460617602"/>
<add key="RedirectUrl" value="http://localhost:49548/Redirect.aspx"/>
</appSettings>
Ejemplo:
using System.Configuration;
string clientId = ConfigurationManager.AppSettings["ClientId"];
string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"];
+1 buena respuesta.Sin embargo, una nota: no es necesario que llame a 'ToString' explícitamente, ya que los indexadores en' AppSettings' devuelven el valor de tipo 'string' – horgh
Si desea que los conceptos básicos, puede acceder a través de las teclas:
string myKey = System.Configuration.ConfigurationManager.AppSettings["myKey"].ToString();
string imageFolder = System.Configuration.ConfigurationManager.AppSettings["imageFolder"].ToString();
Para tener acceso a las llaves de mi web.config Siempre hago una clase estática en mi solicitud. Significa que puedo acceder a ellos donde sea que lo requiera y no estoy usando las cadenas en toda mi aplicación (si cambia en la configuración web, tendría que pasar por todas las instancias para cambiarlas). Aquí hay un ejemplo:
using System.Configuration;
public static class AppSettingsGet
{
public static string myKey
{
get { return ConfigurationManager.AppSettings["myKey"].ToString(); }
}
public static string imageFolder
{
get { return ConfigurationManager.AppSettings["imageFolder"].ToString(); }
}
// I also get my connection string from here
public static string ConnectionString
{
get { return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; }
}
}
Soy sitio Clase de configuración para llamar a todas mis aplicacionesConfigurando de esta manera. Lo comparto si ayuda a alguien.
agregue el código siguiente en el "web.config"
<configuration>
<configSections>
<!-- some stuff omitted here -->
</configSections>
<appSettings>
<add key="appKeyString" value="abc" />
<add key="appKeyInt" value="123" />
</appSettings>
</configuration>
Ahora se puede definir una clase para conseguir todo su valor appSetting. como esto
using System;
using System.Configuration;
namespace Configuration
{
public static class SiteConfigurationReader
{
public static String appKeyString //for string type value
{
get
{
return ConfigurationManager.AppSettings.Get("appKeyString");
}
}
public static Int32 appKeyInt //to get integer value
{
get
{
return ConfigurationManager.AppSettings.Get("appKeyInt").ToInteger(true);
}
}
// you can also get the app setting by passing the key
public static Int32 GetAppSettingsInteger(string keyName)
{
try
{
return Convert.ToInt32(ConfigurationManager.AppSettings.Get(keyName));
}
catch
{
return 0;
}
}
}
}
Ahora agregar la referencia de la clase anterior y para acceder a una llamada clave, como abajo
string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");
- 1. Lectura de la sección de membresía de web.config
- 2. lectura variable de entorno fiesta
- 3. Lectura de valores de web.config en ASP clásico
- 4. Lectura de una variable JSP desde JavaScript
- 5. Lectura de la variable en Perl
- 6. variable local Sólo lectura en VB.Net
- 7. de archivos de lectura en la variable en Perl
- 8. Obteniendo fecha de lectura humana de Epoch en la variable
- 9. Variables de transformación Web.config
- 10. Objective-C: ¿La variable de solo lectura no es asignable?
- 11. Lectura de un entero en una variable local en MIPS
- 12. C# devuelve una variable como solo lectura de get; conjunto;
- 13. encriptación web.config error fallido
- 14. Web.config Error de cifrado
- 15. Administración de archivos web.config
- 16. ¿Cómo leer programáticamente los valores de web.config?
- 17. Lectura de valores de DataTable
- 18. Lectura/escritura concurrente a una variable en java
- 19. cifrado Web.Config
- 20. web.config urlmapping
- 21. dividir web.config
- 22. ¿Cómo dejo de herencia web.config
- 23. Configuración de correo en Web.config
- 24. Reescritura de URL - error web.config
- 25. Autenticación de formularios web.config configurar
- 26. modo de autenticación Web.Config Detección
- 27. Solución de ancho app.config/web.config?
- 28. Cambiando el archivo web.config basado en una variable de entorno en ASP.NET
- 29. Ajuste/lectura de variables de entorno
- 30. Lectura y escritura de localStorage?
http://www.c-sharpcorner.com/uploadfile/sd_patel/webconfiginaspnet11242005061608am/webconfiginaspnet. aspx –