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

ASP.NET Discussion :

section de configuration externalisée


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 45
    Par défaut section de configuration externalisée
    Bonjour,

    J'essaie de mettre en place une section de configuration dans un fichier Appli.config, référencé par le fichier Web.config de mon projet asp.net/C# sous VS 2008.

    J'ai une erreur "section de configuration appliBaseSection non reconnue" au niveau du fichier Appli.config (je lance la regénération du site), comme s'il fallait valider la structure du xml.

    [edit]Mais j'ai aussi "section de configuration non reconnue : appliBaseSection" dans Web.config au niveau de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <appliBaseSection configSource="Appli.config"/>
    [fin edit]

    Merci de m'aider à déterminer ce qui manque. Voici les infos :

    Web.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <sectionGroup name="appliBaseGroup">
          <section
            name="appliBaseSection"
            type="masociete.AppliBaseSection, masociete, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null"
            allowLocation="true"
            allowDefinition="Everywhere"
          />
        </sectionGroup>
        </configSections>
      <appliBaseSection configSource="Appli.config"/>
    PS : je ne suis pas sûre pour l'assembly, je pense que ça correspond au namespace.

    Appli.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="utf-8"?>
    <appliBaseSection>
      <RacineDocuments1 path="%Chemin documents 1%"/>
      <RacineDocuments2 path="%Chemin documents 2%"/>
    </appliBaseSection>
    [edit]J'ai aussi essayé de mettre "<configuration>" autour de "<appliBaseSection>" et ça a l'air de mieux passer.[fin edit]

    AppliBaseSection.cs : namespace masociete, définit les éléments de configuration et leurs attributs conformément à ce que j'ai écrit dans Appli.config, ça devrait être bon car j'ai suivi le tuto sur msdn et compris ce que je faisais ^^.

    Barbara

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 45
    Par défaut
    Je pense que mon handler a un problème mais je ne vois pas vraiment où. Voici le code (je n'ai mis qu'un seul élément RacineDocuments1) :

    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
    30
     
    using ...
     
    namespace masociete
    {
        public class AppliBaseSection : ConfigurationSection
        {
            [ConfigurationProperty("RacineDocuments1")]
            public RacineDocuments1Element RacineDocuments1
            {
                get
                {
                    return (RacineDocuments1Element)this["RacineDocuments1"];
                }
                set
                { this["RacineDocuments1"] = value; }
            }
     
           public class RacineDocuments1Element : ConfigurationElement
            {
                [ConfigurationProperty("path")]
                public String Path
                {
                    get { return (String)this["path"]; }
                    set { this["path"] = value; }
                }
            }
     
        }
    }
    Merci,

    Barbara

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2002
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 45
    Par défaut
    Mon handler est OK mais grâce au tuto http://www.codeproject.com/KB/dotnet...iguration.aspx référencé sur ce forum j'ai compris que je ne devais pas définir de sectionGroup personnalisé car il n'y a pas de handler correspondant défini.

    Donc j'ai déclaré uniquement une section personnalisée dans Web.config.

    En revanche j'ai un problème pour trouver la section lorsque je tente d'y accéder dans mon aspx, ce qui m'a fait changer le déclaratif de ma section comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <section
            name="appliBaseSection"
            type="masociete.AppliBaseSection"
            allowLocation="true"
            allowDefinition="Everywhere"
          />
    Et ça marche ! Je m'embrouille facilement avec le code "enrichi" de msdn ^^.

    Barbara

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

Discussions similaires

  1. [Log4j] Configuration externalisée
    Par LeBabouin dans le forum Général Java
    Réponses: 4
    Dernier message: 04/08/2011, 09h39
  2. Réponses: 13
    Dernier message: 12/04/2011, 16h05
  3. Réponses: 3
    Dernier message: 21/01/2009, 18h55
  4. Externaliser des fichiers de configuration
    Par rozwel dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 30/06/2008, 13h11
  5. Réponses: 16
    Dernier message: 11/02/2008, 17h07

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