2016-07-07 67 views
0

我有一個MVC Web應用程序。它有條件地在調試配置中運行時在Application_Start()期間初始化數據庫中的測試數據。顯然,由於開發人員向項目添加了應用程序洞察跟蹤,這種初始化顯然非常緩慢。你看,我們每次通過實體框架保存到數據庫的時候,我們現在打在調用堆棧如下:需要防止Application Insights在Web應用程序中進行調試時進行初始化

System.Web.dll!System.Web.HttpContext.Request.get() 
Microsoft.AI.Web.dll!Microsoft.ApplicationInsights.Web.Implementation.HttpContextExtensions.GetRequest(System.Web.HttpContext context) 
Microsoft.AI.Web.dll!Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry) 
Microsoft.ApplicationInsights.dll!Microsoft.ApplicationInsights.TelemetryClient.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry telemetry) 

HttpContext.Request.Get()!不開玩笑會很慢。在數據填充期間我們正在進行大量的保存。當然,這裏會有優化,但這是一堆亂七八糟的亂七八糟的東西,我沒有寫,而是寧願避免開放。

基本上,我希望Application Insights停止執行任何Web請求。優選地,它在調試中什麼也不做,但只要它表現良好,我不介意。我試過設置:

TelemetryConfiguration.Active.DisableTelemetry = true; 

但這顯然不影響任何codepath調用TelemetryClient.Initialize()。任何指針?

+0

困惑.....所有正在被訪問HttpContext.Request對象;它不會執行任何Web請求到遠程服務。你確定這是瓶頸嗎? – tomasr

+0

@tomasr,不,我不確定。我注意到*每當我掛斷時,我都會在這個通話中(每次返回大約5秒鐘)。我假設這意味着我在這裏度過大部分時間。不過,你是對的,這是財產獲得者。不知道爲什麼它會這麼慢。我猜這是一個懶惰的負載。 – ChiralMichael

+0

可能的重複http://stackoverflow.com/a/23254776/4848251 –

回答

3

我知道阻止AI運行的最佳方式是使用web.config transform用於Debug配置以將其刪除。這將確保它不會註冊任何Web請求。

Web.Debug.config內容

<?xml version="1.0"?> 
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    <system.web> 
     <httpModules> 
     <add xdt:Transform="Remove" xdt:Locator="Match(name)" name="ApplicationInsightsWebTracking" /> 
     </httpModules> 
    </system.web> 
    <system.webServer> 
    <modules> 
     <add xdt:Transform="Remove" xdt:Locator="Match(name)" name="ApplicationInsightsWebTracking" /> 
    </modules> 
    </system.webServer> 
</configuration> 
+0

不錯!正是我在找什麼。沒有想到那個角度。 – ChiralMichael

+1

幾個後人的評論:我也必須在#if DEBUG中調整儀器密鑰的設置。顯然,任何Application Insights的初始化都會觸發我看到的行爲。另請注意,默認情況下,轉換不會在本地運行。通過這裏的要點啓用它們:https://gist.github.com/EdCharbeneau/9135216 – ChiralMichael

相關問題