Come posso aggiungere e leggere il valore dal file web.config?Leggi variabile da Web.Config
risposta
Ti suggerisco di non modificare web.config dal tuo, perché ogni volta che cambia, riavvierà l'applicazione.
Tuttavia è possibile leggere web.config usando System.Configuration.ConfigurationManager.AppSettings
Grazie Mr.Muhammed, quindi cosa mi consigli di fare per salvare una variabile in un luogo pubblico che può essere cambiata senza riavviare l'applicazione web? Grazie in anticipo –
È possibile memorizzare tali variabili in un file XML crittografato. – vamyip
sì, il file XML è l'idea migliore. Oppure puoi archiviarlo in DB e aggiungere in application_start (Global.asax), metterlo nella variabile application e usarli nell'applicazione. queste variabili assegnano solo una volta nell'applicazione e se l'applicazione si riavvia, queste verranno assegnate di nuovo. –
Supponendo che la chiave è contenuto all'interno del nodo <appSettings>
:
ConfigurationSettings.AppSettings["theKey"];
Per quanto riguarda la "scrittura" - in parole povere, Dont.
Web.config non è progettato per questo, se si sta modificando un valore costantemente, inserirlo in una classe helper statica.
Ryan Farley ha un grande post su questo nel suo blog, tra cui tutti i motivi per cui non scrivere di nuovo nel file web.config: Writing to Your .NET Application's Config File
dato il seguente web.config: utilizzo
<appSettings>
<add key="ClientId" value="127605460617602"/>
<add key="RedirectUrl" value="http://localhost:49548/Redirect.aspx"/>
</appSettings>
Esempio:
using System.Configuration;
string clientId = ConfigurationManager.AppSettings["ClientId"];
string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"];
+1 bella risposta.Comunque una nota - non è necessario chiamare 'ToString' in modo esplicito, come indicizzatori su' AppSettings' restituiscono il valore di tipo 'stringa' stessi – horgh
Se si desidera che le nozioni di base, è possibile accedere alle chiavi tramite:
string myKey = System.Configuration.ConfigurationManager.AppSettings["myKey"].ToString();
string imageFolder = System.Configuration.ConfigurationManager.AppSettings["imageFolder"].ToString();
Per accedere le mie chiavi di configurazione web ho sempre fare una classe statica nella mia applicazione. Significa che posso accedervi ovunque io richieda e non sto usando le stringhe su tutta la mia applicazione (se cambia nella configurazione web dovrei passare attraverso tutte le occorrenze modificandole). Ecco un esempio:
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; }
}
}
Sono classe siteConfiguration per chiamare tutte le mie app Impostare come in questo modo. Lo condivido se aiuterà qualcuno.
aggiungere il seguente codice al "web.config"
<configuration>
<configSections>
<!-- some stuff omitted here -->
</configSections>
<appSettings>
<add key="appKeyString" value="abc" />
<add key="appKeyInt" value="123" />
</appSettings>
</configuration>
Ora è possibile definire una classe per ottenere tutto il vostro valore appSetting. Ti piace questa
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;
}
}
}
}
Ora aggiungere il riferimento della classe precedente e di accedere a una chiamata chiave come muggito
string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");
- 1. passa a crontab una variabile e la leggi da PHP?
- 2. Leggi WCF indirizzo dell'endpoint del servizio per nome dal web.config
- 3. Leggi versione da Info.plist
- 4. Override machine.config da web.config
- 5. Leggere web.config da JavaScript
- 6. Leggi la variabile di sessione in javascript?
- 7. Leggi i metadati da nupkg
- 8. Leggi dati binari da Console.In
- 9. Leggi cookie creato da NewCookie()
- 10. chiave web.config Accesso da codebehind
- 11. Leggi la variabile di ambiente dall'estensione Google Chrome
- 12. Leggi una variabile python in uno script di shell?
- 13. Leggi la home directory dell'utente da PHP
- 14. Leggi messaggio ExtJS da Ajax negozio
- 15. Leggi matrice di stringa da Spark
- 16. Java: Leggi array di interi da file
- 17. C# Leggi (non scrive!) Stringa da System.Net.Http.StringContent
- 18. Leggi il file json da python
- 19. Leggi selezione da TableView in JavaFX 2.0
- 20. Leggi tutti i parametri da SYS_CONTEXT/USERENV
- 21. Leggi AssemblyFileVersion da AssemblyInfo post-compilazione
- 22. Leggi float da un file .txt
- 23. Leggi frame da RTSP Stream in Python
- 24. Leggi dati da un modulo in backbone
- 25. Leggi la dimensione del carattere da Impostazioni
- 26. Leggi VARBINARY (MAX) da SQL Server a C#
- 27. Ottieni HttpHandlers registrati nel Web.Config da HttpContext
- 28. Leggere ConnectionString da Web.Config in ASP.Classic
- 29. Come leggere system.net/mailSettings/smtp da web.config
- 30. Ottieni più stringhe di connessione da web.config
http://www.c-sharpcorner.com/uploadfile/sd_patel/webconfiginaspnet11242005061608am/webconfiginaspnet. aspx –