Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C#: app.config unos/citanje

[es] :: .NET :: .NET Desktop razvoj :: C#: app.config unos/citanje

[ Pregleda: 1987 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

DON_steXo

Član broj: 246483
Poruke: 33
*.cis.ac.me.



Profil

icon C#: app.config unos/citanje22.05.2011. u 17:33 - pre 157 meseci
Potrebno mi je nekako da pamtim odredjena podesavanja (stringovi iz texboxova medju kojima je i sifra) da ih ne bih unosio uvijek prilikom startovanja programa. Zanima me da li je ta podesavanja moguce nekako unijeti u app.config i kako raditi update tih podesavanja. Ako nije moguce, trebala bi mi pomoc oko kreiranja novog xml fajla (gledao sam neke tutoriale ali su slozeni sadrze liste sekcije itd. a meni treba jednostavno upis/citanje u/iz textbox/a) i nacin da enkriptujem sifru i ucinim je necitljivom spolja. Pocetnik sam i svaka pomoc mi je dobrodosla.
 
Odgovor na temu

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 845
*.dynamic.telemach.ba.



+13 Profil

icon Re: C#: app.config unos/citanje22.05.2011. u 20:29 - pre 157 meseci
Ako ti je problem koristenje XML-a za cuvanje config vrijednosti, onda barem za pocetak koristi obicne txt fajlove. Mozes npr. da koristis delimiter u samom fajlu:

com5;
john;
********;
bleh;

A enkripciju mozes sam jednostavno da uradis. Imas mnogo nacina za to. Jednostaviji je da, konvertujes string u char, onda char u int, pa mozda da obavis neku operaiciju nad dobijenim intom (mozda da ga saberes sa 5). Kad si vrijednost enkriptovo, onda samo revers postupak i dekriptujes.

Manjak je da su ti sifre slabo zasticene (opet zavisi koju si mat. operaciju uraido na intom)
Prednost je da si ti to sam odradio :)

Na kraju krajeva, mozes iskoristiti i enkripciju koja se vec nalazi u *.NET.
 
Odgovor na temu

Dejan Carić
Oslo, Norway

Član broj: 230976
Poruke: 232
82.117.199.*

Sajt: www.dcaric.com


+26 Profil

icon Re: C#: app.config unos/citanje29.06.2011. u 12:07 - pre 156 meseci
Možeš da napraviš klasu koja predstavlja stanje tvoje aplikacije, npr:
Code:
[Serializable]
public class ApplicationState
{
    public string Foo { get; set; }
    public string Boo { get; set; }
}


Zatim na neki događaj (izlazak iz aplikacije ili neki button click) napuniš tu klasu sa nekim vrednostima i serijalizuješ je kao binarni fajl.
Kod učitavanja aplikacije samo deserijalizuješ taj objekat.

Na netu ima dosta primera za binarnu serilizaciju:
http://www.switchonthecode.com...al-serialize-objects-to-a-file

Na ovaj način osetljivi podaci nisu vidljivi i ne mogu da se promene izvan aplikacije.
(Zapravo mogu, ali prosečan korisnik sigurno neće znati kako ;) )

 
Odgovor na temu

DON_steXo

Član broj: 246483
Poruke: 33
*.crnagora.net.



Profil

icon Re: C#: app.config unos/citanje30.06.2011. u 20:49 - pre 156 meseci
hvala na odgovorima.

sredio sam jednostavno koristeci .txt (u resource-u) i .net enkripciju
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+837 Profil

icon Re: C#: app.config unos/citanje02.07.2011. u 09:59 - pre 156 meseci
Upisivanje/menjanje app settings-a treba podeliti na one sa User i Application scope-om, ja sam koristio sledece metode, mozda nekom budu od pomoci:

za User scope:
Code:
        private static void SaveUserSettingDefault(string groupname,string clientSectionName, string settingName, object settingValue)
        {
            System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            // find section group
            ConfigurationSectionGroup group = config.SectionGroups[@groupname];
            if (group == null) return;

            // find client section
            ClientSettingsSection clientSection = group.Sections[clientSectionName] as ClientSettingsSection;
            if (clientSection == null) return;

            // find setting element
            SettingElement settingElement = null;
            foreach (SettingElement s in clientSection.Settings)
            {
                if (s.Name == settingName)
                {
                    settingElement = s;
                    break;
                }
            }
            if (settingElement == null) return;

            // remove the current value
            clientSection.Settings.Remove(settingElement);

            // change the value
            settingElement.Value.ValueXml.InnerText = settingValue.ToString();

            // add the setting
            clientSection.Settings.Add(settingElement);

            // save changes
            config.Save(ConfigurationSaveMode.Full);
        }   


za Connection string, Application scope:
Code:
        private static void SaveConnectionString(string connstringname,string conectionstring)
        {
            // Get the application configuration file.
            System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);

            // Create a connection string element and
            // save it to the configuration file.

            // Create a connection string element.
            ConnectionStringSettings csSettings =
            new ConnectionStringSettings(connstringname, @conectionstring);

            // Get the connection strings section.
            ConnectionStringsSection csSection =
            config.ConnectionStrings;
            // Remove element.
            csSection.ConnectionStrings.Remove(csSettings);
            // Add the new element.
            csSection.ConnectionStrings.Add(csSettings);

            // Save the configuration file.
            config.Save(ConfigurationSaveMode.Modified);


        }
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: C#: app.config unos/citanje

[ Pregleda: 1987 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.