Jak mogę dodać i odczytać wartość z pliku web.config?Czytaj zmienną z Web.Config
Odpowiedz
Proponuję, abyś nie modyfikował web.config ze swojego, ponieważ za każdym razem, gdy się zmieni, uruchomi ponownie twoją aplikację.
Jednak można odczytać pliku web.config przy użyciu System.Configuration.ConfigurationManager.AppSettings
Dziękuję Mr.Muhammed, więc co mi poradzisz zrobić, aby zapisać zmienną w miejscu publicznym, które można zmienić bez ponawiania aplikacji internetowej? Dzięki z góry –
Możesz przechowywać takie zmienne w zaszyfrowanym pliku XML. – vamyip
tak, plik XML jest lepszym pomysłem. Możesz też zapisać go w DB i dodać application_start (Global.asax), umieścić w zmiennej aplikacji i użyć ich w aplikacji. te zmienne są przypisywane tylko raz w aplikacji i jeśli aplikacja zostanie uruchomiona ponownie, zostaną one ponownie przypisane. –
Zakładając klucz jest zawarty wewnątrz węzła <appSettings>
:
ConfigurationSettings.AppSettings["theKey"];
chodzi o "piśmie" - Mówiąc prościej, nie zrobiłem.
Program web.config nie jest przeznaczony do tego celu, jeśli chcesz stale zmieniać wartość, umieść go w statycznej klasie pomocniczej.
Ryan Farley ma wielki post o tym na swoim blogu, w tym wszystkie powody, dla których nie odpisać do plików web.config: Writing to Your .NET Application's Config File
Biorąc pod uwagę następujące web.config:
<appSettings>
<add key="ClientId" value="127605460617602"/>
<add key="RedirectUrl" value="http://localhost:49548/Redirect.aspx"/>
</appSettings>
Przykład użycia:
using System.Configuration;
string clientId = ConfigurationManager.AppSettings["ClientId"];
string redirectUrl = ConfigurationManager.AppSettings["RedirectUrl"];
+1 ładna odpowiedź.Jednak jedna uwaga - nie trzeba jawnie wywoływać 'ToString', ponieważ indeksatory w' AppSettings' zwracają wartość typu 'string' same – horgh
Jeśli chcesz się podstaw, można uzyskać dostęp do kluczy poprzez:
string myKey = System.Configuration.ConfigurationManager.AppSettings["myKey"].ToString();
string imageFolder = System.Configuration.ConfigurationManager.AppSettings["imageFolder"].ToString();
Aby uzyskać dostęp klucze web config ja zawsze statycznych klasy w mojej aplikacji. Oznacza to, że mogę uzyskać do nich dostęp w dowolnym miejscu i nie używam ciągów w całej mojej aplikacji (jeśli zmieni się w konfiguracji sieci, będę musiał przejść przez wszystkie wystąpienia, które je zmieniają). Oto przykład:
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; }
}
}
Jestem klasy siteConfiguration dla wywoływania całej mojej aplikacjiUstawianie w ten sposób. Dzielę się tym, jeśli to pomoże każdemu.
dodać następujący kod w „web.config”
<configuration>
<configSections>
<!-- some stuff omitted here -->
</configSections>
<appSettings>
<add key="appKeyString" value="abc" />
<add key="appKeyInt" value="123" />
</appSettings>
</configuration>
Teraz można zdefiniować klasę uzyskania całą swoją wartość AppSetting. jak to
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;
}
}
}
}
Teraz dodać odniesienie do poprzedniej klasy i uzyskać dostęp do klucza połączenia jak poniżej
string appKeyStringVal= SiteConfigurationReader.appKeyString;
int appKeyIntVal= SiteConfigurationReader.appKeyInt;
int appKeyStringByPassingKey = SiteConfigurationReader.GetAppSettingsInteger("appKeyInt");
- 1. Czytaj WCF adres punktu końcowego usługi wg nazwy od web.config
- 2. Czytaj xml z pliku
- 3. asio :: czytaj z timeoutem
- 4. Czytaj pływaki z pliku .txt
- 5. Czytaj lokalny XML z JS
- 6. Folder ochrony hasłem z web.config
- 7. Przekształcenia Web.Config z Octopus Deploy
- 8. Otwórz web.config z aplikacji konsoli?
- 9. Czytanie sekcji członkostwa z web.config
- 10. iphone nsurlconnection czytaj ciasteczka
- 11. Czytaj plik do postaci
- 12. Czytaj tylko konkretny arkusz
- 13. Czytaj duże dane mongody
- 14. Czytaj AssemblyFileVersion z AssemblyInfo po kompilacji
- 15. PHP: Czytaj z pewnego punktu w pliku
- 16. Czytaj całość danych z Golang net.Conn.Read
- 17. Czytaj z określonego miejsca w pliku C++
- 18. Czytaj podział wiersza w ciąg z javascript
- 19. Czytaj stdin z inlined python bash
- 20. Czytaj tar.gz w Javie z kompresją Commons
- 21. Automatycznie czytaj czat tekst z Minecraft
- 22. Czytaj tylko pierwszy wiersz z pliku tekstowego
- 23. Czytaj w danych z pliku JSON
- 24. Szyny obcinane z przełącznikiem "czytaj więcej"
- 25. Czytaj więcej link z czystym JavaScriptem
- 26. Python - Czytaj drugą kolumnę z pliku
- 27. Czytaj XML w VB.net
- 28. Nie blokująca linii rubla czytaj
- 29. Zrozumienie projektowania std :: istream :: czytaj
- 30. Czytaj stałej szerokości plik tekstowy
http://www.c-sharpcorner.com/uploadfile/sd_patel/webconfiginaspnet11242005061608am/webconfiginaspnet. aspx –