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.