2015-11-22 3 views
6

После включения приложения Insights в моем веб-проекте он работает нормально для нескольких запросов, но затем все запросы зависают бесконечно. Это выполняется локально с помощью отладчика Visual Studio. С помощью скрипача я вижу, что запросы ждут ответа, который никогда не приходит. Ошибок нет. В конце концов Visual Studio также зависает, и мне нужно его убить.Включение приложения Insights делает веб-приложение зависанием

Я использую обновление Visual Studio 2013 4. Я щелкнул правой кнопкой мыши по моему веб-проекту и нажал Добавить приложение Insights Telemetry. Далее я удалил Инструментальный ключ из ApplicationInsights.config, так как я не хочу телеметрии для локальной разработки. Ключ Instrumentation будет установлен в настройках приложения Azure для Live приложения.

Если я вернусь назад без использования приложений, я не буду висит.

Любые идеи? Спасибо!

ответ

1

Я запускал 2.0.0-rc1 и имел эту проблему. Комментируя эту строку кода в ApplicationInsights.config, также исправлена ​​проблема.

<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"> 

Обновление информации о приложениях до 2.0.0 также решило проблему для меня. Спасибо Анастасия & Аллен!

3

[EDIT]

предыдущие исправления, казалось, работали на первый, но то, что действительно сделал трюк, чтобы закомментировать PerformanceCollectorModule от ApplicationInsights.config.

<TelemetryModules> 
    ... 
    <!-- 
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector"> 
    --> 
    ... 
</TelemetryModules> 

[Старый Ответ]

Отключение телеметрию, если не ключевой инструмент не предусмотрено ли решить проблему.

Я как бы ожидал, что это было сделано под капотом, но, похоже, нет.

Я ставлю этот код в global.asax метод Application_Start:

if (string.IsNullOrEmpty(WebConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"])) 
{ 
    Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.DisableTelemetry = true; 
} 
+0

У меня такое же поведение, но это исправление не работает для меня. Я могу выполнять только несколько запросов в Visual Studio, а затем зависает все приложение. Я не могу остановить отладку или что-то еще. Подумайте, я пока что собираюсь выкинуть информацию о приложениях. –

+0

См. Мое редактирование для реального исправления :-) –

1

Я не хочу, чтобы украсть любой кредит от другого ответа, но я хотел бы остановиться на мой комментарий. Я заново установил Visual Studio (с длинными снимками, которые я знаю) и все еще имел проблему. Похоже, что когда HTTP-модули для AI загружаются в IIS Express, вещи идут на юг быстро, поэтому мне пришлось прибегать только к загрузке этих модулей при запуске конфигурации выпуска.

Это означает, что обновление вашего web.config, чтобы удалить заявления AI, и вместо того, чтобы переместить их в Web.Release.config, как трансформируется таким образом, они загружены, когда конфигурация релиз построен:

https://stackoverflow.com/a/27923364/571237

Обратите внимание, однако, что сборки изменились с тех пор, как был отправлен ответ. Вот что мне нужно было добавить:

<system.web> 
    <compilation xdt:Transform="RemoveAttributes(debug)" /> 
    <httpModules> 
     <!-- Enable application insights when running in release mode (it don't work right locally...) --> 
     <!-- https://stackoverflow.com/a/27923364/571237 --> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" 
      xdt:Transform="Insert"/> 
    </httpModules> 
    </system.web> 

    <system.webServer> 
    <modules> 
     <!-- Enable application insights when running in release mode (it don't work right locally...) --> 
     <!-- https://stackoverflow.com/a/27923364/571237 --> 
     <remove name="ApplicationInsightsWebTracking" xdt:Transform="Insert"/> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" xdt:Transform="Insert" /> 
    </modules> 
    </system.webServer> 
+3

У AI есть проблема с модулем каждого счетчика и экспресс-службой IIS. Модуль PerfCounters пытается считывать счетчики, а в случае IIS express он фактически блокирует весь реестр, что приводит к тупиковой ситуации, если другие модули загружаются одновременно (добавлена ​​задержка, но это не все время). Вы можете попытаться удалить модуль сбора PerfCounters и посмотреть, помогает ли это. –

+0

@AnastasiaBaranchenkova Спасибо за это объяснение !!! Мы удалили этот модуль, и мы увидим, поможет ли это. Мы ответим назад, спасибо! –

+0

В 2.0.0, который был выпущен на этой неделе, модуль автоматически отключается, когда вы используете iisexpress. Поэтому, если вы обновите, у вас не должно быть этой проблемы. –

Смежные вопросы