C# File configurazione

lunedì 21 febbraio 2011 - 09.43
Tag Elenco Tags  C#  |  .NET 4.0  |  Visual Studio 2010

luca.santaniello Profilo | Newbie

Salve a tutti,

vorrei definire un file di configurazione per la mia applicazione, contenente, ad esempio, i parametri di connessione al db. Inizialmente ho utilizzato le Risorse del progetto che riuscivo a leggere utilizzando il comando "ProjName.Properties.Resources.PropName". Purtroppo però tali properties sono modificabili solo dall'ambiente di sviluppo.

Ho letto che è possibile creare anche file di properties in xml ma non so come leggerli dalla mia applicazione.

Mi aiutate?

Grazie in anticipo

AntCiar Profilo | Expert

Ciao.

Crea una classe al livello più basso della tua applicazione e dentro ci metti tutte le variabili di configurazione che ti servono. Ricorda di generare le property Get/Set per ogni variabile. Poi utilizza la serializzazione/deserializzazione per leggere/salvare l'intero blocco di variabili.

Ti faccio un esempio:

Class MyProp
{
string _pathdb = "";
public string PathDB
{
get
{
return _pathdb;
}
set
{
_pathdb= value;
}
}



public void serialize()
{
StreamWriter sr = new StreamWriter(Application.StartupPath + "\\settings.xml", false, System.Text.Encoding.UTF8);
XmlSerializer serializer = new XmlSerializer(typeof(MyProp));
serializer.Serialize(sr, this);
sr.Close();
}

public static MyProp deserialize()
{
try
{
XmlSerializer serializer = new XmlSerializer(typeof(MyProp));
ClientConfig ret;
StreamReader r = new StreamReader(Application.StartupPath + "\\settings.xml");
ret = (MyProp)(serializer.Deserialize(r));
r.Close();
return ret;
}
catch (Exception)
{
return null;
}
}
}


poi quando la devi usare basta fare:

MyProp prp = MyProp.deserialize();
prp.PathDb ........

Poi quando devi salvare (dopo aver dato i valori alle property che ti interessano

prp.serialize()

Ciao



Cristian Barca

luca.santaniello Profilo | Newbie

Grazie mille
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5