обновление с azure 2.4 до 2.5 теперь не работает диагностика

Я обновился с azure tools 2.4 до 2.5 и теперь получаю нулевую ссылку, когда пытаюсь сослаться на DiagnosticMonitorConfiguration, возвращаемый DiagnosticMonitor.GetDefaultInitialConfiguration() Например.

DiagnosticMonitorConfiguration diagnosticConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
diagnosticConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);

вызовет исключение, потому что Directorys имеет значение null. Из того, что я погуглил, начальная конфигурация по умолчанию хранится в новом файле Diagnostics.wadcfgx, который есть и выглядит так:

<?xml version="1.0" encoding="utf-8"?>
  <DiagnosticsConfiguration xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
    <PublicConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<WadCfg>
  <DiagnosticMonitorConfiguration overallQuotaInMB="4096">
    <DiagnosticInfrastructureLogs />
    <Directories>
      <IISLogs containerName="wad-iis-logfiles" />
    </Directories>
    <PerformanceCounters>
      <PerformanceCounterConfiguration counterSpecifier="\Memory\Available MBytes" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\ISAPI Extension Requests/sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\Web Service(_Total)\Bytes Total/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Requests/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET Applications(__Total__)\Errors Total/Sec" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Queued" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Requests Rejected" sampleRate="PT3M" />
      <PerformanceCounterConfiguration counterSpecifier="\ASP.NET\Applications Running" sampleRate="PT0S" />
    </PerformanceCounters>
    <WindowsEventLog scheduledTransferPeriod="PT1M">
      <DataSource name="Application!*" />
    </WindowsEventLog>
    <Logs scheduledTransferPeriod="PT1M" scheduledTransferLogLevelFilter="Error" />
  </DiagnosticMonitorConfiguration>
</WadCfg>
<StorageAccount>mystorageaccount</StorageAccount>
</PublicConfig>
<PrivateConfig xmlns="http://schemas.microsoft.com/ServiceHosting/2010/10/DiagnosticsConfiguration">
<StorageAccount name="assetmanagerwms" endpoint="https://core.windows.net/" />
</PrivateConfig>
<IsEnabled>true</IsEnabled>
</DiagnosticsConfiguration>

Кто-нибудь знает, что мне не хватает? Все свойства имеют значение null или 0 в возвращаемом файле DiagnosticMonitorConfiguration.


person user1058410    schedule 26.11.2014    source источник


Ответы (1)


Это одно из критических изменений в SDK 2.5: http://msdn.microsoft.com/en-us/library/azure/dn873976.aspx#BKMK_breaking. Конфигурация диагностики, основанная на основном коде, больше не поддерживается. Из ссылки выше:

Для настройки диагностики требуется файл Diagnostics.wadcfgx; конфигурация в коде больше не поддерживается. В Azure SDK версии 2.5 вся конфигурация диагностики должна выполняться в файле конфигурации XML Diagnostics.wadcfgx, и агент диагностики всегда использует эту конфигурацию, независимо от того, применяется ли она. через Visual Studio или Azure PowerShell. Любая предыдущая конфигурация диагностики на основе кода (например, с использованием API DiagnosticMonitor) должна быть перенесена в файл Diagnostics.wadcfgx. Код, используемый для настройки аварийных дампов в предыдущих пакетах SDK, также необходимо перенести в файл Diagnostics.wadcfgx.

Если в проекте Azure SDK версии 2.4 уже используется XML-файл конфигурации диагностики Diagnostics.wascfg (рекомендуется), то при обновлении проекта в Visual Studio до Azure SDK версии 2.5 Visual Studio автоматически обновляет XML-файл конфигурации. в новый формат (diagnostics.wadcfgx). Если в вашем проекте по-прежнему используется конфигурация на основе кода, то при его обновлении до версии 2.5 вы получите предупреждения о сборке со ссылками на устаревшие API. Вы можете использовать Visual Studio для настройки Diagnostics.wadcfgx, щелкнув правой кнопкой мыши роль в обозревателе решений и выбрав Свойства. На вкладке «Конфигурация» выберите «Включить диагностику», а затем нажмите «Настроить». Дополнительные сведения см. в разделе Настройка диагностики для облачных служб и виртуальных машин Azure.

person Gaurav Mantri    schedule 27.11.2014