Я хотел бы скачать файл, разобрать его и поместить куда-нибудь. Итак, у меня есть несколько разделов, обрисованных в общих чертах ниже, и я хотел бы использовать приведенные ниже директивы, чтобы указать, что должна делать программа. Мне нравится эта форма конфигурации, и я хотел бы выяснить, как заставить это работать как-то, но я знаю, что она не будет работать именно так, потому что я не могу использовать один и тот же раздел более одного раза. Я просто надеюсь, что кто-то может высказать некоторые идеи о том, как заставить эту идею работать.
<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>
, а затем что-то вроде этого для запуска программы:
<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>