Próbuję odczytać klucze z Web.config
pliku na innej warstwie niż warstwa internetowa (to samo rozwiązanie)
Oto, czego próbuję:
string userName = System.Configuration.ConfigurationManager.AppSettings["PFUserName"];
string password = System.Configuration.ConfigurationManager.AppSettings["PFPassWord"];
A oto moje appSettings
w Web.config
pliku:
<configuration>
....
<appSettings>
<add key="PFUserName" value="myusername"/>
<add key="PFPassWord" value="mypassword"/>
</appSettings>
....
</configuration>
Kiedy debuguję kod username
i robię password
to po prostu null
, więc nie otrzymuje wartości kluczy.
Co robię źle, czytając te wartości?
c#
asp.net-mvc
twal
źródło
źródło
NULL
. Późny komentarz, ale nikt tego nie zauważył.Odpowiedzi:
Zamiast tego spróbuj użyć klasy WebConfigurationManager. Na przykład:
źródło
źródło
ToString()
jest jednak zbędny.string value = ConfigurationManager.AppSettings[key] ?? "unknown value"
Jeśli program wywołujący to inny projekt, należy napisać konfigurację w projekcie programu wywołującego, a nie w wywołanym.
źródło
Uważam, że to rozwiązanie jest bardzo pomocne . Używa C # 4.0 DynamicObject do zawijania ConfigurationManager. Zamiast więc uzyskiwać dostęp do takich wartości:
masz do nich dostęp jako własność:
EDYCJA : Dodawanie fragmentu kodu na wypadek, gdyby link stał się nieaktualny:
źródło
Pełna ścieżka do tego jest
źródło
Będą dwa pliki Web.config. Myślę, że mogłeś pomylić z tymi dwoma plikami.
Sprawdź to zdjęcie:
Na tym obrazku widać dwa pliki Web.config. Powinieneś dodać swoje stałe do tej, która znajduje się w folderze projektu, a nie w folderze views
Mam nadzieję, że to może ci pomóc
źródło
Ten problem występuje, jeśli ten projekt jest używany przez inny projekt. Upewnij się, że skopiowałeś klucze ustawień aplikacji do app.config lub web.config projektu nadrzędnego.
źródło
Możesz także wypróbować ten wiersz, aby uzyskać wartość ciągu z
app.config
pliku.źródło
przy założeniu ustawienia poniżej w pliku .config:
Spróbuj tego:
źródło
Niestety nie testowałem tego, ale myślę, że zrobiono to w ten sposób:
źródło