2015-11-22 8 views
6

Nachdem Sie Application Insights in meinem Webprojekt aktiviert haben, wird es für einige Anforderungen ausgeführt, aber dann bleiben alle Anforderungen auf unbestimmte Zeit hängen. Dies wird lokal mit dem Visual Studio-Debugger ausgeführt. Mit fiddler kann ich sehen, dass eine Anfrage auf eine Antwort wartet, die nie kommt. Es gibt keinen Fehler. Irgendwann hängt Visual Studio auch und ich muss es töten.Aktivieren von Application Insights lässt die Webanwendung hängen

Ich verwende Visual Studio 2013 Update 4. Ich habe mit der rechten Maustaste auf mein Web-Projekt, und klicken Sie auf Add Insights Telemetry. Als nächstes habe ich den Instrumentation Key aus der ApplicationInsights.config entfernt, da ich keine Telemetrie für die lokale Entwicklung möchte. Der Instrumentationsschlüssel wird in den Azure App-Einstellungen für die Live-Anwendung festgelegt.

Wenn ich ohne Application Insights zurückkehren, bekomme ich keine hängen.

Irgendwelche Ideen? Danke!

Antwort

1

Ich lief 2.0.0-rc1 und hatte dieses Problem. Durch das Kommentieren dieser Codezeile in ApplicationInsights.config wurde das Problem behoben.

Upgrade Application Insights zu 2.0.0 löste auch das Problem für mich. Danke Anastasia & Allen!

3

[EDIT]

Die bisherige fix schien zunächst zu arbeiten, aber wirklich den Trick tat, was ist das PerformanceCollectorModule von ApplicationInsights.config Kommentar aus.

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

[Alte Antwort]

Deaktivieren Telemetrie, wenn kein Gerät Taste vorgesehen ist, das Problem nicht beheben.

Ich habe irgendwie erwartet, dass dies unter der Haube gemacht wurde, aber es scheint nicht.

Ich habe diesen Code in global.asax Application_Start Methode:

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

Ich bekomme das gleiche Verhalten, aber diese Lösung funktioniert nicht für mich. Ich kann nur ein paar Anfragen innerhalb von Visual Studio bedienen und dann hängt die gesamte Anwendung. Ich kann nicht aufhören zu debuggen oder so. Ich denke, ich werde jetzt einfach App-Erkenntnisse aus dem Weg räumen. –

+0

Siehe meine Bearbeitung für die echte Korrektur :-) –

1

Ich will keinen Kredit von einer anderen Antwort zu stehlen, aber ich wollte auf meinem Kommentar erarbeiten. Ich habe Visual Studio neu installiert (long-shot ich weiß) und hatte immer noch das Problem. Es scheint, dass wenn die HTTP-Module für AI in IIS Express geladen werden, die Dinge schnell nach Süden gehen, also musste ich darauf zurückgreifen, diese Module nur zu laden, wenn ich die Release-Konfiguration ausführe.

Dies bedeutet, dass Ihre web.config Aktualisierung der AI-Anweisungen zu entfernen, und anstatt sie zu Web.Release.config bewegen, wie verwandelt, so dass sie geladen sind, wenn eine Release-Konfiguration erstellt wird:

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

Beachten Sie jedoch, dass die Assemblys seit der Veröffentlichung dieser Antwort geändert wurden. Hier ist, was ich hinzufügen musste:

<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 hat ein Problem mit per-Counter-Modul und IIS Express. PerfCounters Modul versucht, Zähler zu lesen, und im Falle von IIS express nimmt es tatsächlich eine Sperre für die gesamte Registrierung, die zu einem Deadlock führt, wenn andere Module gleichzeitig geladen werden (Verzögerung wurde hinzugefügt, aber das tut nicht die ganze Zeit). Sie können versuchen, das PerfCounters-Erfassungsmodul zu entfernen, und sehen, ob das hilft. –

+0

@AnastasiaBaranchenkova Danke für diese Erklärung !!! Wir haben das Modul entfernt und wir werden sehen, ob das hilft. Wir melden uns zurück, danke! –

+0

In 2.0.0, das diese Woche veröffentlicht wurde, wird das Modul automatisch deaktiviert, wenn Sie iisexpress verwenden. Also, wenn Sie aktualisieren, sollten Sie dieses Problem nicht mehr haben. –

Verwandte Themen