2009-06-22 4 views
1

Je voudrais télécharger un fichier, l'analyser et le mettre quelque part. Donc j'ai quelques sections décrites ci-dessous et je voudrais utiliser les directives ci-dessous pour guider ce que le programme devrait faire. J'aime cette forme de config et j'aimerais savoir comment faire pour que cela fonctionne, mais je sais que ça ne fonctionnera pas exactement comme ça parce que je ne peux pas utiliser la même section plus d'une fois. J'espère juste que quelqu'un pourrait jeter quelques idées à ma façon sur la façon de faire fonctionner cette idée.Une section, plusieurs implémentations en C#

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    <sectionGroup name="processor"> 
     <sectionGroup name="process"> 
     <!-- AVAILABLE TRANSPORTS --> 
     <section name="ftp_transport" type="someFTPClass1, someAssembly"/> 
     <section name="web_transport" type="someHTTPClass2, someAssembly"/> 

     <!-- AVAILABLE PARSERS --> 
     <section name="fixed_line_parser" type="someParserClass3, someAssembly" /> 
     <section name="regular_expression_parser" type="someParserClass4, someAssembly" /> 

     <!-- AVAILABLE LOADERS --> 
     <section name="database_loader" type="someDbLoaderClass5, someAssembly" /> 
     </sectionGroup> 
    </sectionGroup> 
    </configSections> 

puis quelque chose comme ceci pour conduire le programme:

<processor> 
    <process name="File1"> 
    <ftp_transport>...</ftp_transport> 
    <fixed_line_parser>...</fixed_line_parser> 
    <database_loader>...</database_loader> 
    </process> 

    <process name="File2"> 
    <web_transport>...</web_transport> 
    <fixed_line_parser>...</fixed_line_parser> 
    <database_loader>...</database_loader> 
    </process> 
</processing> 
+0

Pourquoi avez-vous fait ce wiki communautaire? Vous pourriez avoir obtenu plus d'intérêt si la question avait valu des points. –

+0

Je ne voulais pas en faire un wiki communautaire, comment l'annuler? –

Répondre

0

Est-ce le problème que vous avez un sectionGroup imbriqué dans sectionGroup? Modifiez les balises SectionGroup externes à SectionGroups au lieu de SectionGroup.

<!-- SECTION DECLARATION --> 
<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    <sectionGroups name="processor"> 
     <sectionGroup name="process"> 
     <!-- AVAILABLE TRANSPORTS --> 
     <section name="ftp_transport" type="someFTPClass1, someAssembly"/> 
     <section name="web_transport" type="someHTTPClass2, someAssembly"/> 

     <!-- AVAILABLE PARSERS --> 
     <section name="fixed_line_parser" type="someParserClass3, someAssembly" /> 
     <section name="regular_expression_parser" type="someParserClass4, someAssembly" /> 

     <!-- AVAILABLE LOADERS --> 
     <section name="database_loader" type="someDbLoaderClass5, someAssembly" /> 
     </sectionGroup> 
    </sectionGroups> 
    </configSections> 
Questions connexes