Estamos intentando implementar algún registro configurable dinámicamente en nuestra aplicación Azure y estamos utilizando las bibliotecas empresariales para hacerlo, lo que funciona bien, sin embargo, el xml requerido para facilitar esto es más complejo que el simple ajuste de estilo 'appSetting' que el archivo ServiceConfiguration.cscfg parece aceptar en el sentido de que requiere nodos xml anidados,Configuraciones XML personalizadas/anidadas en ServiceConfiguration.cscfg
por ej.
<configSections>
<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" />
</configSections>
que se resuelve por (valga el formato en esta ventana, por favor):
<loggingConfiguration name="" tracingEnabled="true" defaultCategory="General">
<listeners>
<add listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.CustomTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
type="OurSolution.Common.AzureDiagnosticTraceListener, Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
name="AzureDiagnosticTraceListener" />
</listeners>
<formatters>
<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
template="Timestamp: {timestamp}{newline}
Message: {message}{newline}
Category: {category}{newline}
Priority: {priority}{newline}
EventId: {eventid}{newline}
Severity: {severity}{newline}
Title:{title}{newline}
Machine: {localMachine}{newline}
App Domain: {localAppDomain}{newline}
ProcessId: {localProcessId}{newline}
Process Name: {localProcessName}{newline}
Thread Name: {threadName}{newline}
Win32 ThreadId:{win32ThreadId}{newline}
Extended Properties: {dictionary({key} - {value}{newline})}"
name="Text Formatter" />
</formatters>
<categorySources>
<add switchValue="All" name="General">
<listeners>
<add name="AzureDiagnosticTraceListener" />
</listeners>
</add>
</categorySources>
</loggingConfiguration>
no puedo ver una manera de engañar a los archivos ServiceDefinition o ServiceConfiguration a aceptar esto, aunque si pudiera Veo una forma de decirle a las bibliotecas empresariales que utilicen el archivo ServiceConfiguration, que puedo hacer en app.config.
Por qué estamos tratando de resolver esto es para permitirnos ajustar dinámicamente la configuración para el registro, es decir, cambiar de Sin registro a Verbose sin tener que volver a desplegar, lo que resulta lento y poco práctico en nuestra aplicación en vivo que ha pasado recientemente en vivo así que todavía puede tener el otro bug presente ;-)
Cualquier pensamiento sería el más agradecido recibió Saludos Kindo malayo
Me gusta la idea de poner configuraciones en almacenamiento de blobs, pero se pierde la capacidad incorporada de detectar cambios de configuración.Eso no quiere decir que no puedas llegar a algo para hacer eso. – knightpfhor
Básicamente, solo puede cargar configuraciones desde BLOB solo en la puesta en marcha y tener un hilo lateral que duerme casi todo el tiempo. Una vez en unos minutos verificaría los cambios en BLOB y, si se detecta, simplemente solicite a la API de administración que reinicie el trabajador. –
Fuimos de una manera diferente al final, pero muchas gracias por la información –