7

Nous avons des paramètres d'application dérivés de ApplicationSettingsBase. Lorsque nous poussons une nouvelle version de notre application, nous devons appeler:.NET ApplicationSettingsBase Dois-je appeler Upgrade() chaque fois que je charge?

// 
    // Summary: 
    //  Updates application settings to reflect a more recent installation of the 
    //  application. 
    public virtual void Upgrade(); 

(de la méta-données)

Maintenant, il existe des moyens difficiles à déterminer si vos paramètres doivent être mis à jour tels que this post ce qui me semble ne jamais améliorer vos paramètres une fois. Maintenant, je pourrais stocker la version actuelle de mon application dans les paramètres et comparer chaque fois que j'instancie les paramètres, si elle est différente de la version actuelle, je pourrais mettre à jour.

Ma question est pourquoi ne pas simplement appeler Upgrade() chaque fois que j'instancier les paramètres? De cette façon, je sais que je ne serai jamais démodé.

+1

le lien ne fonctionne plus – eric1825

+1

J'ai trouvé une copie en cache de l'archive web, donc j'ai changé le lien. –

Répondre

5

La méthode décrite dans la publication liée fonctionne. J'ai utilisé cette méthode moi-même. Lorsque la version de votre application change, les paramètres seront réinitialisés à leurs valeurs par défaut et la propriété UpdateRequired sera true.

Alors non, vous n'avez pas besoin d'appeler Upgrade à chaque démarrage de votre application.

+0

bien sûr! lorsqu'une nouvelle version est installée, une nouvelle version des paramètres est créée. Je pensais que l'ancienne version serait instanciée et ensuite mise à jour vers les nouveaux paramètres alors qu'en fait les nouveaux paramètres vont importer les anciens. –