IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Fichier de config de portée Application modifiable


Sujet :

VB.NET

  1. #1
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut Fichier de config de portée Application modifiable
    Bonjour,

    J'ai un petit problème de conception.
    Soucieux de rester "à la page" je désire stocker des information de configuration dans des fichiers XML.
    Je lis que les paramètres de portée Application sont en lecture seule ce qui me dérange.

    J'aimerais, par exemple, au lancement de l'application, tester si un chemin de base de données est renseigné (et valide) et, si non, proposer une recherche ou une création.

    Le seul problème est que ce chemin est de portée Application.
    Je ne pourrai donc pas le stocker dans le fichier de config de l'application.
    Ce dernier point me paraît logique vu que ce fichier est dans le répertoire de l'application et, si ce dernier est dans Program Files, Windows (depuis Vista) refuse aux applications d'écrire dans ce répertoire.

    Je viens de découvrir qu'il existe un fichier settings.xml dans (sous XP) C:\Documents and Settings\All Users\Application Data\MaSociété\MonApplication.

    Comment écrit-on, de la manière la plus propre possible, dans ce fichier?
    Ce serait, me semble-t-il, la façon la plus correcte de stocker des paramètres de portée Application mais risquant d'être modifiés (je pense au déplacement d'une base de données après installation, par exemple).

    Si je veux pouvoir modifier un de ces paramètres à priori "immuable", c'est que ce n'est pas la première fois que je suis confronté, en entreprise, au remplacement d'un serveur qui change donc de nom et même d'emplacement. Il s'ensuit que les paramètres de toutes les applications qui ont des données sur ce serveur doivent pouvoir être modifiées sans devoir aller éditer les fichiers de config manuellement.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    J'ai trouvé une piste là:
    http://msdn.microsoft.com/en-us/library/ms973902.aspx

    Je creuse...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    en même temps depuis 4 jours tu aurais pu coder un système de gestion de setting perso en xml ou ini ou autre (20 lignes de code à tout casser + 3 lignes par paramètres à sauvegarder) plutot que d'essayer de faire en sorte qu'un truc prévu pour fonctionner d'une telle manière puisse fonctionner d'une autre manière
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    ou sinon tu défini une variable de type string avec une portée utilisateur et tu stock ta connection string dedans, comme ça tu pourra la redéfinir comme bon te semble depuis ton application

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    en même temps depuis 4 jours tu aurais pu coder un système de gestion de setting perso en xml ou ini ou autre
    Bonjour,

    Si tu avais bien lu la question, tu aurais compris que je cherche le moyen le plus "dans les normes" possible.
    Lire et écrire dans des fichiers XML ou .ini, je sais faire.
    Ma question est plus fondamentale quant à ce qui est recommandé pour ce genre de stockage.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Citation Envoyé par AlainTech Voir le message
    Je viens de découvrir qu'il existe un fichier settings.xml dans (sous XP) C:\Documents and Settings\All Users\Application Data\MaSociété\MonApplication.

    Comment écrit-on, de la manière la plus propre possible, dans ce fichier?
    Ce serait, me semble-t-il, la façon la plus correcte de stocker des paramètres de portée Application mais risquant d'être modifiés (je pense au déplacement d'une base de données après installation, par exemple).
    c'est ceux stocké à la portée utilisateur et rien de plus simple à modifier ou à lire

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Properties.Settings.Default.Key = txtCle.Text;
                string cle = Properties.Settings.Default.Key;
    après tu peux directement les liés à un de tes composants depuis l'interface:
    http://msdn.microsoft.com/fr-fr/libr...=VS.80%29.aspx

    et pour les sauvegarder rien de plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Properties.Settings.Default.Save();

  7. #7
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    Citation Envoyé par AlainTech Voir le message
    Si tu avais bien lu la question, tu aurais compris que je cherche le moyen le plus "dans les normes" possible.
    Lire et écrire dans des fichiers XML ou .ini, je sais faire.
    Ma question est plus fondamentale quant à ce qui est recommandé pour ce genre de stockage.
    avec des "dans les normes" on se retrouve à faire des trucs étranges dans certains cas

    tu fais bien ce que tu veux au final tant que c'est propre et que ca fonctionne
    ton but et d'avoir des paramètres modifiables, il y a des centaines de méthodes pour faire ca donc pourquoi s'efforcer à utiliser un truc qui n'est pas prévu pour ca sans bricolage
    un paramètre de type application n'est pas modifiable alors qu'un paramètre de type user l'est
    donc si tu trouves un moyen de modifier un paramètre de type application ca sera du bricolage, et donc loin "des normes" je pense
    et je ne pense pas qu'il y a grand monde qui utilise les paramètres d'applications ...

    je rappelle qu'avec des paramètres de type user, si un user modifie un paramètre, il ne le sera pas pour un autre user windows
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    je rappelle qu'avec des paramètres de type user, si un user modifie un paramètre, il ne le sera pas pour un autre user windows
    Voilà pourquoi je voulais que certains paramètres aient une portée Application.

    J'ai fait mon choix:
    Un fichier Settings.xml dans un répertoire sous celui renvoyé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.GetFolderPath(SpecialFolder.CommonApplicationData)
    Je serai ainsi compatible aussi bien avec l'arborescence XP que Vista et plus.

    Merci pour les réponses.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser un fichier de config pour mon application
    Par laminoo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 18/06/2009, 10h07
  2. Réponses: 4
    Dernier message: 23/03/2009, 22h07
  3. Réponses: 0
    Dernier message: 30/08/2007, 11h04
  4. Réponses: 7
    Dernier message: 12/02/2007, 10h11
  5. Réponses: 9
    Dernier message: 04/05/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo