Пользовательские / вложенные параметры XML в ServiceConfiguration.cscfg

Мы пытаемся реализовать динамически настраиваемую регистрацию в нашем приложении Azure, и мы используем для этого корпоративные библиотеки, которые отлично работают, однако xml, необходимый для этого, более сложен, чем простой 'appSetting 'параметр стиля, который, похоже, принимает файл ServiceConfiguration.cscfg, поскольку он требует вложенных узлов xml,

например

<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>

, который разрешается (простите за форматирование в этом окне, пожалуйста):

<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}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}"
            name="Text Formatter" />
    </formatters>
    <categorySources>
        <add switchValue="All" name="General">
            <listeners>
                <add name="AzureDiagnosticTraceListener" />
            </listeners>
        </add>
    </categorySources>
</loggingConfiguration>

Я не вижу способа обмануть файлы ServiceDefinition или ServiceConfiguration, чтобы принять это, хотя, если бы я мог, я мог бы увидеть способ сообщить корпоративные библиотеки для использования файла ServiceConfiguration, что я могу сделать в app.config.

Мы пытаемся решить эту проблему для того, чтобы позволить нам динамически регулировать параметры ведения журнала, т. Е.изменить с «Без ведения журнала» на «Подробный» без необходимости повторного развертывания, что отнимает много времени и непрактично в нашем действующем приложении, которое только недавно было запущено, поэтому может все еще присутствовать странная ошибка; -)

Любые мысли будут очень благодарны получил С уважением Kindo Malay

6
задан Kindo Malay 3 November 2010 в 00:49
поделиться