Logo UGIdotNET

Usare un file di configurazione dedicato per Enterprise Library 5.0

Una delle opzioni di configurazione di Enterprise Library 5.0 è quella di poter utilizzare un file dedicato che contenga la sola parte di configurazione ad essa dedicata, opzione molto utile visto che in genere la configurazione di Enterprise Library risulta piuttosto verbosa. Questo file deve essere referenziato nel file di configurazione principale dell’applicazione. Per raggiungere questo obiettivo è necessario utilizzare il seguente schema nel file di configurazione principale: nella sezione “enterpriseLibrary.ConfigurationSource” vengono elencate le sorgenti di configurazione, in questo caso quella di default di sistema ed il file “{Configuration Path}\EntLib.config”.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="enterpriseLibrary.ConfigurationSource" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ConfigurationSourceSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
    </configSections>
    <appSettings>
        ....
    </appSettings>
    <enterpriseLibrary.ConfigurationSource selectedSource="File-based Configuration Source">
        <sources>
            <add name="System Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <add name="File-based Configuration Source" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.FileConfigurationSource, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
                filePath="{Configuration Path}\EntLib.config"/>
        </sources>
    </enterpriseLibrary.ConfigurationSource>
</configuration>

Il file di configurazione dedicato ad Enterprise Library avrà poi il seguente aspetto in cui vengono indicate solo le sezioni di configurazione proprie di Enterprise Library, lasciando che siano riportate nel file di configurazione principale dell’applicazione tutte le altre informazioni (in questo caso è indicato lo scheletro di configurazione di tre application block: security, logging ed exception handling.

<configuration>
    <configSections>
        <section name="securityConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Security.Configuration.SecuritySettings, Microsoft.Practices.EnterpriseLibrary.Security, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
        <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
        <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
    </configSections>   
    <securityConfiguration>
        ...
    </securityConfiguration>
    <loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
        ...
    </loggingConfiguration>
    <exceptionHandling>
        ...
    </exceptionHandling>
</configuration>

In generale gli scenari di configurazione di Enterprise Library sono molteplici e non si limitano solo al caso qui presentato, per maggiori informazioni fare riferimento alla documentazione ufficiale scaricabile su Codeplex, oppure alla guida per lo svilupatore, anch'essa disponibile su Codeplex.

Technorati tags: 
Autore: Roberto Messora
Data: 03 novembre 2010
Ultimo aggiornamento: 03 novembre 2010
Categorie:  Microsoft Enterprise Library
Tag:  entlib Enterprise Library

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185