2010-07-30 21 views

Odpowiedz

12

Ustawienia konfiguracyjne aplikacji, które są szerokie zastosowanie (non-user specyficzny) należą zarówno w app.config (dla aplikacji desktop) lub web.config (dla aplikacji internetowych).

Szyfrowanie fragment pliku web.config jest dość proste, jak przedstawiono na this Super Simple Example.

Jeśli trzeba przechowywać specyficznych ustawień użytkownika (takich jak ustawienia aplikacji, etc.) lub szerokie ustawieniach aplikacji nie związanych z konfiguracją aplikacji można użyć pliku Ustawienia jak opisano tutaj:

User Settings in C#

+0

ok, czy jest bezpieczny? jeśli tak, jak z niego korzystać? dziękuje – Radi

+0

To nie jest bezpieczne automatycznie, ale możesz szyfrować pliki konfiguracyjne i ich sekcje w .NET. Zobacz moją odpowiedź, podałem kilka linków pokazujących to. –

+0

Czy te dane są bezpieczne? mam na myśli doświadczenie (w aplikacji używanej .net Framework 2), że moje ustawienie aplikacji zaginęło ... raz lub dwa razy ... – deadManN

0

myślę app.config (bez aplikacji internetowej) lub web.config (aplikacja internetowa).

2

Pierwsza opcja to rejestr. Jest to łatwe, ale nie jest zbyt bezpieczne dla haseł. Inną opcją jest użycie pliku, który utworzysz. To też nie jest bezpieczne, chyba że chcesz zaimplementować kodowanie.

Następna opcja wykorzystuje ustawienia aplikacji. Jest to również dość proste, ale jest kilka połowów. Najpierw kliknij projekt prawym przyciskiem myszy i wybierz Właściwości. Tam, na karcie Ustawienia można przechowywać zmienne, do których można uzyskać dostęp z programu przez

string password = Properties.Settings.Default.Password 

Można także zmienić je tak samo, ale tylko wtedy, gdy zakres jest ustawiony użytkownika. Jeśli zakres obejmuje całą aplikację, VS nie pozwala na zmianę tych zmiennych z jakiegoś dziwnego powodu. Aby zapisać zmiany, należy wywołać Save() w następujący sposób:

Properties.Settings.Default.Save(); 

te są zapisywane w folderze dane użytkownika w folderze C: \ Documents and Settings \ 'Aktualne użytkownika \ Ustawienia lokalne \ Dane aplikacji \

Inną opcją jest włączenie ich do bazy danych, ale ponieważ przechowujesz także swoją lokalizację bazy danych, może to nie działać.

+2

Istnieje kilka wymówek, aby nadal korzystać z rejestru dla nowych aplikacji. –

0

Tego rodzaju ustawienia zwykle trafiają do plików konfiguracji aplikacji (web.config, app.config).

http://www.devasp.net/net/articles/display/679.html

Jeśli przechowywania haseł, może trzeba także szyfrować sekcję konfiguracji w pytaniu.

http://msdn.microsoft.com/en-us/library/53tyfkaw.aspx

http://msdn.microsoft.com/en-us/library/ff650304.aspx

Uwaga, jeśli używasz app.config, widać, że się przemianowany na ..config, w zależności, czy wyjście produkuje DLL lub EXE.

0

plik konfiguracyjny appsettings, plik ini (nini), wbudowana baza danych (sqlite, berkelydb/etc ..), niezależnie od wybranej metody, zależy to od uwzględnienia wielkości i wydajności aplikacji oraz projektu.

7

Nie jestem pewien, która wersja.net/Visual Studio został wprowadzony, ale możesz kliknąć prawym przyciskiem myszy na swoim projekcie, wybrać "Dodaj nowy element" i wybierz "Plik ustawień" z okna "Dodaj nowy element". Zapewnia to projekt z (o nazwie domyślnie) Settings.settings pliku, który można skonfigurować wszystkie ustawienia, które chcesz wystawiać w.

Można zdefiniować ustawienia, które tworzą się albo Zastosowanie lub użytkownika co oznacza, że może używać tego pojedynczego interfejsu do kontrolowania ustawień globalnych i użytkownika. Po utworzeniu ustawienia w pliku Settings.settings przy użyciu edytora Visual Studio zapewnia, że ​​można do niego dostęp w kodzie tak:

// Get a Setting value 
var valueOfSetting1 = Settings1.Default.Setting1; 

// Modify and save a Setting value 
Settings1.Default.Setting1 = "New Value"; 
Settings1.Default.Save(); 
0

Jak z powyższych odpowiedzi sugerują, app.config lub w internecie .config to najlepsze miejsce dla ustawień aplikacji. Jeśli potrzebujesz bardziej niezawodnego sposobu na znaczniki xml dla bazy danych, ustawień serwera i tym podobnych, możesz skorzystać z configurationSection i utworzyć sekcje niestandardowe.

http://www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx

haseł baz danych, tak jak ja to mam zaszyfrowany ciąg znaków w wartości znacznika xml i deszyfrowania wtedy, kiedy je czytać, tamtędy czego nie narażać haseł.

Powiązane problemy