2015-11-22 11 views
6

Dopo aver attivato Application Insights sul mio progetto Web, viene eseguito correttamente per un paio di richieste, ma tutte le richieste vengono bloccate indefinitamente. Questo viene eseguito localmente usando il debugger di Visual Studio. Usando il violinista posso vedere che le richieste sono in attesa di una risposta, che non arriverà mai. Non c'è errore Alla fine anche Visual Studio si blocca e ho bisogno di ucciderlo.Abilitare Application Insights rende l'app Web bloccata

Utilizzo l'aggiornamento di Visual Studio 2013 4. Ho fatto clic con il tasto destro del mouse sul mio progetto Web e ho fatto clic su Aggiungi telemetria Application Insights. Successivamente ho rimosso la chiave di strumentazione da ApplicationInsights.config, poiché non desidero la telemetria per lo sviluppo locale. La chiave di strumentazione verrà impostata nelle Impostazioni app di Azure per l'applicazione live.

Se torno indietro senza Application Insights, non mi sento impiccato.

Qualche idea? Grazie!

risposta

1

Ero in esecuzione 2.0.0-rc1 e aveva questo problema. Anche il commento di questa riga di codice all'interno di ApplicationInsights.config risolveva il problema.

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

L'aggiornamento di Application Insights a 2.0.0 ha risolto anche il problema per me. Grazie Anastasia & Allen!

3

[EDIT ]

La correzione precedente sembrava funzionare in un primo momento, ma ciò che ha fatto il trucco è quello di commentare la PerformanceCollectorModule da ApplicationInsights.config.

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

[Vecchio risposta]

Disabilitare la telemetria, se non viene fornito alcun strumento Tasto non risolvere il problema.

Mi aspettavo che fosse fatto sotto il cofano, ma non sembra.

ho messo questo codice in global.asax metodo Application:

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

Ho lo stesso comportamento ma questa correzione non funziona per me. Posso servire solo alcune richieste all'interno di Visual Studio e quindi l'intera applicazione si blocca. Non riesco a smettere di eseguire il debug o altro. Penso che stia solo per dare un'occhiata alle app per ora. –

+0

Vedere la mia modifica per la correzione reale :-) –

1

Non voglio rubare alcun credito da un'altra risposta, ma ho voluto approfondire il mio commento. Ho re-installato Visual Studio (a lunga distanza lo so) e ho ancora avuto il problema. Sembra che quando i moduli HTTP per AI vengono caricati in IIS Express, le cose vadano rapidamente a sud, quindi ho dovuto ricorrere al solo caricamento di quei moduli quando si esegue la configurazione di rilascio.

Ciò significa aggiornare il web.config per rimuovere le dichiarazioni AI, e invece spostarli Web.Release.config come trasforma quindi sono caricati quando una configurazione di rilascio è costruito:

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

Si noti tuttavia che gli assemblaggi sono cambiati da quando è stata pubblicata la risposta. Ecco cosa dovevo aggiungere:

<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 ha un problema con il modulo per contatori e IIS Express. Il modulo PerfCounters sta provando a leggere i contatori e in caso di IIS Express richiede effettivamente un blocco su tutto il registro che porta a un deadlock se altri moduli vengono caricati contemporaneamente (è stato aggiunto un ritardo ma non sempre). Puoi provare a rimuovere il modulo di raccolta di PerfCounters e vedere se questo aiuta. –

+0

@ AnastasiaBaranchenkova Grazie per questa spiegazione !!! Abbiamo rimosso quel modulo e vedremo se questo aiuta. Faremo rapporto, grazie! –

+0

Nella versione 2.0.0 rilasciata questa settimana il modulo viene disabilitato automaticamente quando si utilizza iisexpress. Quindi se aggiorni non dovresti avere più questo problema. –

Problemi correlati