Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C#] File di configurazione

    Di solito dove mettete le vostre informazioni su una windows application? CIoè ad esmepio configurazioni di programma, connectionString, password, opzioni di programma! Esistono dei file di configurazione appropiati in c# (con apportune classi) oppure è tutto a manella?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,314
    Dipende dalla tipologia di impostazioni a cui si fa riferimento; in alcuni casi, si potrebbe fare riferimento al registro di configurazione o a file XML generici memorizzati nella cartella dell'utente.

    Le impostazioni generali del programma vengono di solito memorizzate all'interno dei file app.config presenti nella stessa cartella del file eseguibile.

    Per accedere alle impostazioni al loro interno, si usano le classi che appartengono al namespace System.Configuration.

    Consulta anche la Guida (MSDN) per ottenere maggiori informazioni.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ma funzionano sia in lettura che in scrittura?

  4. #4
    Non mi risulta che ci siano classi specifiche per la scrittura del file di configurazione, ma puoi comunque modificarlo tramite le normali classi per la modifica di files XML.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5

    ConnectionString

    Di Solito dove mettete le vostre connection string o tutte le informazioni da nascondere e le altre impostazioni di applicazione che l'utente modifica per un applicazione .net?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,314
    Originariamente inviato da MItaly
    Non mi risulta che ci siano classi specifiche per la scrittura del file di configurazione
    Le classi di System.Configuration, almeno lato Web (ASP.NET), apportano anche modifiche (causando nuovamente lo "startup" dell'applicazione stessa).

    Suppongo funzionino anche per le applicazioni Windows Forms.

    E' sufficiente verificare sulla documentazione MSDN per i dettagli.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,314

    Moderazione

    Originariamente inviato da Pasalino
    ConnectionString
    Di Solito dove mettete le vostre connection string o tutte le informazioni da nascondere e le altre impostazioni di applicazione che l'utente modifica per un applicazione .net?
    Ho unito le discussioni aperte, visto che trattano sempre l'argomento "impostazioni e file di configurazione". Suggerirei comunque l'uso di titoli più significativi, in ogni caso, come indicato nel Regolamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Originariamente inviato da alka
    Le classi di System.Configuration, almeno lato Web (ASP.NET), apportano anche modifiche (causando nuovamente lo "startup" dell'applicazione stessa).
    Davvero? Avevo controllato e non mi risultava... ma forse è una novità del .NET Framework 2.0, che non conosco troppo nei dettagli.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,314
    Originariamente inviato da MItaly
    Davvero? Avevo controllato e non mi risultava... ma forse è una novità del .NET Framework 2.0, che non conosco troppo nei dettagli.
    Dato che hai controllato e hai esposto dubbi, ho avuto qualche sospetto e ho pensato di rincontrollare anche io per essere certo che la scrittura delle impostazioni, l'unico evento certo di cui sono a conoscenza, fosse effettivamente implementata con le classi di System.Configuration.

    Purtroppo, non sono riuscito a risalire all'articolo che avevo letto, ma cercando varie implementazioni ho trovato solamente impieghi, come questo, delle classi per l'editing di file XML.

    Fino a prova contraria, quindi, direi che per il momento vale quanto detto da MItaly: probabilmente ricordavo male sul fatto che le opzioni si potessero modificare tramite le classi di System.Configuration, fermo restando che sia sempre possibile accedere al file usando le classi per la manipolazione di file XML, come di nuovo ha precisato MItaly.

    Ah, quanto sono utili i forum di discussione...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Forse non ho ben capito il problema, ma io in genere faccio così:

    creo un file di configurazione che in genere chiamo nomeApplicazione.exe.config

    codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="mySqlConnectionString"
    			value="database=some;server=192.192.192.192;port=3333;user id=somei;password=xxxxxxxxxxx" />
    	</appSettings>
    </configuration>
    Dato che non sono ancora riuscito a capire come o cryptare questo file, oppure a passargli valori dinamici, per il momento creo un'unica classe (ad esempio per connettermi al db) e modifico il valore del file:

    codice:
    public static class ConnClass
        {
            public static MySqlConnection Create()
            {
                string connectionString;
                Configuration configurator = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                configurator.AppSettings.Settings["mySqlConnectionString"].Value = "database=veroDatabase;server=veroIpServer;port=veraPorta;user id=veroUtente;password=veraPassword";
                configurator.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection("appSettings");
                connectionString = ConfigurationManager.AppSettings["mySqlConnectionString"];
    
                MySqlConnection connessione = new MySqlConnection(connectionString);
                connessione.Open();
                return connessione;
            }
        }
    Poi, da un form qualsiasi o da un qualsiasi evento, basta che chiamo il metodo "Create" della classe:

    codice:
    private void collegaAlDb_Click(object sender, EventArgs e)
    {
       try
          {
              using(MySqlConnection cn = ConnClass.Create())
              {
                 //faccio quello che devo fare
                 cn.Close();
                 cn.Dispose();
                 //queste due istruzioni sono superflue qui, dato che all'uscita di "using" la chiamata
                 //a IDisposable verrà comunque effettuata
              }
           }
        catch(MySqlException ex)
           {
               MessageBox.Show(ex.Message.ToString());
           }
    }
    P.S.: Scusate l'OT, ma dove potrei aprire un thread riguardante problemi relativi a MySql e i triggers?

    Grazie e scusate.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.