Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Läsa inställningar

Postades av 2004-06-08 16:14:53 - Jimmy Vilén, i forum c# (c-sharp), Tråden har 13 Kommentarer och lästs av 890 personer

Jag har ett litet program som jag vill skall läsa in några få parametrar vid start.

Vilket är det smidigaste/enklaste sättet att lösa detta på?
Register, xml, inifil?

/ Jimmy


Svara

Sv: Läsa inställningar

Postades av 2004-06-08 16:58:55 - Johan Bovin

Jag skulle använt xml
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=236
du kan ju direkt serialisera ett objekt och sedan läsa in det vid start och spara ut det när det har ändrats.


Svara

Sv: Läsa inställningar

Postades av 2004-06-08 21:14:01 - Fredrik Edström

Ett enkelt sätt är att använda sig av en config fil. Denna placeras i samma mapp som exe filen och döps till dittexe.exe.config. Inställningarna hämtas med en statisk metod System.Configuration.ConfigurationSettings.GetSettings. Typomvandla returvärdet till ett IDictonary objekt. Exempel

<code>
IDictionary d = (IDictionary) ConfigurationSettings.GetConfig("appinstallningar");

string inst1 = (string)d["varde1"];
string inst2 = (string)d["varde2"];
string inst3 = (string)d["varde3"];

</code>

configfilen....

<code>
<configuration>
<configSections>
<section name="appinstallningar"
type="System.Configuration.SingleTagSectionHandler" />
</configSections>
<appinstallningar varde1="tjippen" varde2="xxx" varde3="osv" />
</configuration>

</code>

//Fredde


Svara

Sv: Läsa inställningar

Postades av 2004-06-08 22:39:25 - Rickard Dehlin

> <b>som jag vill skall läsa in några få parametrar vid start.</b>

Vad för typ av parametrar är det? Vissa lämpar sig bäst i textfiler, typ ini eller XML och andra i registret.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 01:37:33 - Jimmy Vilén

Det är en länk, ett användarnamn samt ett lösenord... Lösningen med IDictionary tycker jag verkar ganska simpel. Får söka lite på hur man smidigast sparar ner lösenordet i icke klartext också... :-D


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 09:09:30 - Per Malmén

Gör en secure hash på lösenordet med ex. MD5 innan du sparar det i filen. Sen hashar du det inskrivna lösenordet och jämför med det sparade.

I övrigt rekommenderar jag att hålla så gott som alla inställningar i textformat (ex xml, eller property-filer) snarare än binära format. Anledningen är att textformat kan användas till så mycket mer och lättare kan flyttas mellan olika system eller anpassas när programmet och kraven ändras. Ett serialiserat objekt blir lätt gammalt.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 09:56:45 - Rickard Dehlin

> <b>Det är en länk, ett användarnamn samt ett lösenord</b>

Spontant och utan att veta mer om din applikation så känns registret som det självklara valet.

> <b>Lösningen med IDictionary tycker jag verkar ganska simpel.</b>

Ska inställingarna vara per användare eller per dator? Ska användaren själv kunna ändra informationen? Om inställingarna är per användare så betänk att en användare inte har annat än skriv och exekveringsrättigheter i C:\Program Files\. Om du då sparar exe-filen där och följer Freddes råd, <b>Denna placeras i samma mapp som exe filen och döps till dittexe.exe.config. </b> så kommer det inte att fungera (om användaren alltså ska kunna ändra parametrarna).

Om inställingarna är per dator har du två val att spara inställningarna (på ett engelskt OS).
* HKLM\Software\Appnamn
* C:\Program Files\Appnamn

Om inställingarna är per användare så har du två val att spara inställingarna.
* HKCU\Software\Appnamn
* C:\Document and Settings\%username%\Application Data\Appnamn

Om du vill att din applikation ska dra nytta av alla trevliga saker som Policies och Group Policies erbjuder i WinNT4, 2000, XP, 2003 så är valet registret och inte textfiler. Textfiler är generellt ett stort aber för oss sysadmins.

Märk väl, det är inte viktigt vad du som utvecklare tycker, utan de krav som sysadmin har för att drifta applikationen.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 10:54:44 - Patrik Löwendahl

Med .NET så försöker MS få utvecklare att sluta spara applikations inställningar i registret.

De vill att man skall gå mer mot configurations filer av något slag.

I mina applikationer skapar jag en settings klass som jag serializerar ner på disk. Om inställningarna skall vara per användare så kan du använda en isolated storage file stream att serializera med. Den sparas i användarens profil under Application Data\ApplikationsNamn\Version\


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 11:14:45 - Rickard Dehlin

> <b>Med .NET så försöker MS få utvecklare att sluta spara applikations inställningar i registret.</b>

Jag har märkt i flera forum att de som skriver för .NET mer och mer pratar om att spara i olika konfigurationsfiler. Men, har Microsoft gått ut med sådana rekomendationer? Isåfall ser jag gärna en länk som beskriver det. Inte bara rekomendationen utan även hur Microsoft tänker sig att applikationerna ska kunna administreras. Ur administratörernas synpunkt så pratar Micrsoft hela tiden om AD/GPO. Och då är det registret som gäller. Jag kan varken ur mina teoretiska kunskaper från Microsoft eller genom min erfarenhet från två stora nät, 200.000+ och 18.000+ användare, så någon fördel med konfigurationsfiler jämfört med registret (vad gäller inställingar).

> <b>I mina applikationer skapar jag en settings klass som jag serializerar ner på disk. Om inställningarna skall vara per användare så kan du använda en isolated storage file stream att serializera med. Den sparas i användarens profil under Application Data\ApplikationsNamn\Version\</b>

På helt rätt ställe om man ska använda sig av konfigurationsfiler. Bra att möjligheten finns att lägga det direkt i profilen.

Måste också påpeka att det jag pratar om är alltså _inställningar_, antingen för applikationen eller användaren. _Data_ ska naturligtvis inte sparas i registret.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 13:23:24 - Patrik Löwendahl

Jag har inga direkta länkar, men all kursmaterial är genomsyrat med den rekomendationen.


Du kan ju faktiskt även få ut config filer med GPO, lägg dem i ett MSI paket tex ...
Det är rekomendationen för att distribuera Code Access Security inställningar (vilket är XML filer) på ett stort nät till alla användare.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 13:38:54 - Rickard Dehlin

> <b>Jag har inga direkta länkar, men all kursmaterial är genomsyrat med den rekomendationen. </b>

Synd. Jag får se om jag får tag i någon kursdokumentation att bläddra i. Någon annan kanske vet någon information? Någon från Micrsoft som läser tråden och vill göra ett inlägg?

> <b>Du kan ju faktiskt även få ut config filer med GPO, lägg dem i ett MSI paket tex ... </b>

Ur det hänseendet kan jag distribuera i princip vad jag vill med AD. men ingen vettig människa använder AD som mjukvarudistribution med mer än (på en höft) 50 användare. AD distribution av MSI-paket är trevligt men erbjuder i princip ingenting mer än distributionen. Ingen versionshantering, loggning osv. Det är därför de flesta använder någon form av komplementprodukt, SMS, Tivoli, CA, whatever.

> <b>Det är rekomendationen för att distribuera Code Access Security inställningar (vilket är XML filer) på ett stort nät till alla användare.</b>

Code Access Security inställningar vet jag inte vad det är. Men att det skulle vara rekomenderat att använda AD MSI distribution till stora nät med många användare tror jag helt enkelt inte på.

Ytterligare en sak som du gör via registerbaserade GPO är att styra användarna. Du kan trycka ut ett värde i registret som användaren är tvungen att läsa och använda, men som han inte kan ändra (HKCU|HKLM\Software\Policies\Appnamn). Hur gör du det med en textfil som ligger i användarens profil? Mig veterligen går det inte att skrivskydda valda delar av innehållet i en textfil. Du kan inte heller sätta ACLer på valda delar i en textfil.

Hitentills är det fortfarande registret som gäller för applikationsinställingar i mina ögon.


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 13:51:55 - Patrik Löwendahl

http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040212securityml/manifest.xml

och

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcodeaccesssecurity.asp

Kort kan man säga att det är ytterliggare ett säkerhetslager som tittar på applikationens identitet, i motsats till användarens identitet. Det är något som installeras med .NET framework och är således native på windows 2003.


Vad du väljer att tro på och inte tro på är upp till dig, jag förmedlar bara samma sak här som de kurser jag håller.

För XML filer behöver du ex ingen versions hantering på samma sätt som för dller och applikationer. Det enda du behöver göra i ditt msi paket är att kopiera ut den nya xml filen ...


Svara

Sv: Läsa inställningar

Postades av 2004-06-09 16:12:16 - Jimmy Vilén

Oj, det var en hel del information.
Mycket bra tråd att läsa dock. :-)

Alltid trevligt med lite olika synfallsvinklar på problemen.

Blir nog någon form av xmlfil eller registret, fast jag kommer nog att testa både och bara för att det är kul.

Tack för all "matnyttig" information.

/ Jimmy


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 273
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies