74 messaggi dal 09 luglio 2009
Buongiorno.
ho appena finito di sviluppare un wizard che consente la selezione del server, la modalità di autenticazione e il database per cambiare la stringa di connessione al db sql server.

Tutto funziona perfettamente. La stringa di connessione la salvo all'interno del file app.config. La stessa connectionString per default è impostata a "" (empty) in modo tale che al primo avvio della mia applicazione, tramite una if che controlla se questa è vuota, fa partire il wizard per la configurazione della stringa di connessione corretta.

Dal secondo avvio in poi la connectionString sarà sempre impostata.

Essendo però una applicazione ClickOnce, è sempre sottoposta ad aggiornamenti e il problema nasce quando si effettua un nuovo aggiornamento. Dopo l'aggiornamento viene "riazzerato" l'intero app.config e all'avvio successivo all'aggiornamento mi riesce la schermata per la creazione della connectionString.

Vorrei, se possibile, trovare un modo affinchè la APP.Config non venga aggiornata. E' possibile? Eventualmente che metodologia mi indicate per riuscire a ovviare al mio problema?
Grazie
Modificato da marcopuccio il 12 giugno 2017 16.08 -
10.161 messaggi dal 09 febbraio 2002
Contributi
Ciao Marco,
non mettere la connection string nell'app config ma dai un'occhiata agli application settings.
Qui trovi uno screenshot, ci si accede dalle proprietà del progetto.
https://www.codeproject.com/KB/cs/1046816/settings.png
e qua c'è la documentazione.
https://msdn.microsoft.com/it-it/library/ms228995.aspx

Attenzione che ad ogni aggiornamento dell'applicazione potrebbero venirti sovrascritte le modifiche ma, se non altro, hai un meccanismo per recuperare le vecchie impostazioni e ri-applicarle anche nella nuova versione.
Leggi qui come farlo:
https://stackoverflow.com/questions/534261/how-do-you-keep-user-config-settings-across-different-assembly-versions-in-net

ciao,
Moreno

Enjoy learning and just keep making
74 messaggi dal 09 luglio 2009
Buonasera Moreno,
intanto grazie per la risposta.

Utilizzo già nel progetto i settings anche se in ambito utente e sono riuscito a fare in modo che esse non vengano resettate ad ogni aggiornamento.

Il problema è che la setting di tipo connectionString è di ambito applicazione e non è (se non ho letto e capito male) modificabile a runtime. Sbaglio?

Spero di ricevere tue.
Grazie
10.161 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Il problema è che la setting di tipo connectionString è di ambito applicazione e non è (se non ho letto e capito male) modificabile a runtime.

Beh, questo succede perché quando scegli il tipo (Connection string), Visual Studio va a scriverti nell'app.config.

Non puoi semplicemente trattare la connection string come fosse un semplice setting di tipo string? Cioè allo stesso modo in cui sta già trattando gli altri settings...

ciao,
Moreno

Enjoy learning and just keep making
74 messaggi dal 09 luglio 2009
Si certo proverò così.
L'unico dubbio che mi lascia perplesso è che questa stringa verrebbe memorizzata in chiaro (soprattutto la password) così come succederebbe anche con l'utilizzo di app.config. Dovrei trovare il modo di criptare tale connectionstring.
Modificato da marcopuccio il 12 giugno 2017 21.37 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.