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 :

[VB.NET] Séparer le fichier de configuration XML de l'application


Sujet :

VB.NET

  1. #1
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut [VB.NET] Séparer le fichier de configuration XML de l'application
    Bonjour,


    On vient de mettre en route une première partie de l'application.
    L'application (l'exe avec dll) sont mis sur un serveur. sur chaque poste client il ya un programme batch écrit en msdos qui lance cet exe et le copie chez le client.
    Voilà, donc ca tourne, sauf qu'on m'a demandé de déplacer le fichier XML (app.config) sur un autre serveur protégé en écriture, qui sera accessible à des membres au cas où la base de donnée crache par exemple et je ne suis pas là, comme ca ils n'ont qu'a ouvrir le fichier XML et changer le nom (paramètre) de la base de donnée au lieu d'ouvrir visual studio et tout recompiler.
    En fait je suis sencé travailler et suivre la même methodologie de l'ancienne application développée en Fox Pro.
    Cet ancien soft démarre en tenant compte d'un fichier .INI (de configuration) equivalent à mon fichier XML.
    La technique était de passer le fichier .INI à l'application comme paramètre lors de chaque démarrage.
    Je tente faire la même chose en VB et app.config mais apparament je compile le XML aussi , le résultat qu'on ne veut pas.

    Pourriez vous m'aider?

    J'éspère que je me suis bien expliquer.


    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Je suis trés interressé par le sujet même si je n'en ai pas besoin pour le moment.
    De même comment manipuler les fichiers *.settings que l'on peut ajouter au projet (Ajoute Nouvel Element => Fichier de paramètres).

    j'ai fait qq recherches tous cela semble être traité dans le nébuleux assembly System.Configuration .. mais MSDN est assez avart d'info et d'exemple la dessus... et il y a vraiment à boire et à manger dans cette assembly.

    Bon courage, si je trouve qq chose je te fais signe.


  3. #3
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Merci MaelstroeM .

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Je pense que c'est la dedans System.Configuration.Configuration.
    Voici ce que dit MSDN à ce sujet :

    Représente un fichier de configuration applicable à un ordinateur, une application ou une ressource particulière. Cette classe ne peut pas être héritée.
    On avance peut être...

  5. #5
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    On avance peut être...
    Je l'éspère bien

    Je n'ai pas encore regarder System.Configuration.Configuration.

    Merci.

  6. #6
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Du premier regard ca a l'air ce qu'on cherche! rn fait j'ai juste jetté un coup d'oeil en vitesse, là je corrige des bugs, dès que termine la recomilation, je me penche dans ce sujet.


  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    J'arrive à ajouter un et mêmes plusieurs fichiers settings.
    Dans le code il faut faire un

    Dim ConfFile as New MonAssembly.AutreParam

    Ensuite le ConfFile se comporte comme le My.Settings.
    Par contre c'est toujours aussi obscur coté distribution du fichier.

    Ce qui est sur c'est que tu ne pourras pas déplacer le app.config car il est trop lié au programme, ClickOnce le met lui même à jour etc...

    La soltion c'est de faire un autre fichier *.settings et de reussir à le coller ailleurs.

  8. #8
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Oui oui , c'est pas que je veux absolument déplacer le fichier app.config, je veux un XML de configuration c'est tout, et avoir la possibilité de le mettre ailleur (séparé de l'application) , et chaque modification dans ce fichier entrainera une modification automatique de l'application VB.
    En fait passer à l'application VB ce fichier XML (peut importe pas forcement app.config) comme paramètre, comme ca à chaque fois que l'application démarre elle prendra en compte les modif apporté à mon fichier XML localisé ailleurs.

    Merci

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    Au pire tu pourras toujours te finir au fichier Ini

  10. #10
    Membre expérimenté Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Points : 1 338
    Points
    1 338
    Par défaut
    salut

    J'ai fait quasiment pareil sauf que les valeurs sont en BDD.

    Tu créé une classe configuration contenant deux strings key,values
    Puis une collection de cette classe.

    Et tu créé une nouvelle classe static qui référence cette collection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    public sealed class MyConfig
        {
            /// <summary>
            /// Collection of configuration
            /// </summary>
            /// <remarks>It's a static variable to avoid to create instance</remarks>
            private static readonly ConfigurationCollection ccConf = new ConfigurationCollection();
     
            /// <summary>
            /// Constructor
            /// Get all configuration from DB in the list
            /// </summary>
            public MyConfig()
            {
                ConfigurationDAL.getAllConfiguration(ccConf);
            }
     
            /// <summary>
            /// Get the list of configuration
            /// </summary>
            public static ConfigurationCollection Configuration
            {
                get
                {
                    return ccConf;
                }
            }
    }
    Ensuite tu initialises ton objet dans le global.asax, et plus particulièrement dans le session_Start(), comme ca a chaque fois que qqun se connecte, je remets a jour la table, pas besoin de redemarrer l'appli.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Common.MyConfig conf = new MyConfig();
    Je vois que tu as une appli, je connais pas l'equivalent du global.asax et session_start(), mais je suis sur que tu trouveras

    Maintenant j'appelle mes parametres de config, dans n'importe quelle couche et de facon statique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyConfig.Configuration.GetValue("mykey");
    Moi c'est en BDD, mais tu peux faire pareil pour un fichier xml.

    Bonne chance

  11. #11
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    @MaelstroeM :

    c'est par ca je voulais commencé (le fichier ini) sans devoir tout refaire (il ya un poste où j'ai demandé comment faire pour le fichier ini), mais bon , en trouvant l'app.config facil à utiliser je pensais pouvoir le séparer mais apparement non .
    espérant trouver comment faire avec l'xml sinon faut que je fasse une recherche sur mon poste de l'utilisation des INI ...

    @bizet :

    Merci pour ta réponse, ca me soulage
    Je vais regarder à ça et te tenir au courant.

    Bon appétit.

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Points : 159
    Points
    159
    Par défaut
    T'as fini par trouver qq chose ?

  13. #13
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Bonjour,

    Me voilà de retour, désolé pour la réponse tardive.

    J'ai fini par utilisé le fichier INI de config de l'anciènne appli.
    Voilà, on l'a mis en route, on l'a installé sur quelque PC pour les différents tests, puis on va le généraliser sur les 50 autres PC. ca fonctionne .
    C'était facile pour moi au lieu de tout retaper dans le fichier XML.



    Merci pour vos idée.

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

Discussions similaires

  1. Edition de fichiers de configuration XML
    Par Frederik dans le forum Maven
    Réponses: 5
    Dernier message: 02/08/2007, 14h41
  2. [Portlet] Fichier de configuration XML
    Par erwan.bodere dans le forum Portails
    Réponses: 5
    Dernier message: 04/06/2007, 13h39
  3. problème d'accès à un fichier de configuration XML
    Par yeddoughmi dans le forum Autres
    Réponses: 1
    Dernier message: 30/05/2007, 20h53
  4. [Hibernate]probleme fichier de configuration xml
    Par scoryo dans le forum Hibernate
    Réponses: 4
    Dernier message: 07/06/2006, 18h42
  5. Réponses: 3
    Dernier message: 04/02/2006, 09h49

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