sm15455 ha scritto:
Ciao,
se queste impostazioni sono fisse un risorsa di configurazione è inutile. Il metodo più semplice è farti una classe statica che contiene campi statici con tutte le configurazioni che ti servono.
HTH
.
La cosa non è cosi semplice. Innanzitutto non si tratta di impostazioni nome-valore, ma di sezioni di configurazione xml complesse che vengono interpretate a runtime. Ma soprattutto è una sezione di configurazione richiesta dal LogginApllicationBlock dell'Enterprise Library di Microsoft; tale sezione appare cosi come nell'esempio seguente e deve essere presente nel file di configurazione dell'applicazione; pero vorrei evitare a chi usa la mia libreria di dover inserire tutta questa sbrodolata nelle sue configurazioni, per questo volevo "embeddare" il file di configurazione nella libreria stessa:
<loggingConfiguration name="Logging Application Block" tracingEnabled="true"
defaultCategory="Default" logWarningsWhenNoCategoriesMatch="true">
<listeners>
<add fileName="trace.log"
header="------------------------------------------------------------"
footer="------------------------------------------------------------"
formatter="Text Formatter"
listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
traceOutputOptions="None"
type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
name="TraceListener" />
</listeners>
<formatters>
<add template="{timestamp} - Category: {category} - AppDomain: {appDomain}{newline}[Session={keyvalue(session)}]{newline}{keyvalue(method)}{newline}{newline}{message}"
type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null"
name="Text Formatter" />
</formatters>
<categorySources>
<add switchValue="All" name="Default">
<listeners>
<add name="TraceListener" />
</listeners>
</add>
</categorySources>
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors & Warnings">
<!--listeners>
<add name="SpecialFlatFile TraceListener" />
</listeners-->
</errors>
</specialSources>
</loggingConfiguration>