2016-05-13 76 views
4

我有一個API應用程序在Azure應用程序服務下運行,並安裝了應用程序瀏覽以跟蹤API調用的服務器端遙測。在Azure門戶中查看Application Insights時,每個服務器調用都會看到兩個事件。每個事件都有一個完全相同的時間戳記,響應時間,遙測等。我已經證實,只有一個事件在Web服務器日誌中,所以我不會無意中從客戶端調用兩次相同的函數。應用程序洞察報告每個服務器請求的重複事件

這裏有一些截圖來說明:

enter image description here

enter image description here

可能是什麼造成的?我該如何解決它?

+0

您是否添加了任何手動檢測工具,例如對TrackRequest的調用,或者這只是自動檢測工具,您將獲得我的安裝Application Insights?您可以檢查Application Insights請求跟蹤HTTP模塊是否已在您的web.config中註冊並且只有一次? –

+0

AI是由Visual Studio自動添加的。有一些TrackTrace和TrackException調用形式的手動工具,但沒有對TrackRequest的調用。我將在下一條評論中發佈我的Web.config中的AI註冊。 –

+0

<添加名稱= 「ApplicationInsightsWebTracking」 類型= 「Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule,Microsoft.AI.Web」/> <除去名稱= 「ApplicationInsightsWebTracking」/> <添加名稱= 「ApplicationInsightsWebTracking」 類型= 「Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule,Microsoft.AI.Web」 前提= 「managedHandler」/>

回答

4

有一個已知的情況下,可能會導致數據重複:部署爲Azure的 Web應用程序

  • AI擴展安裝到應用

    1. 應用不onboarded到AI SDK - >這一步 後開始接收數據,而不需要你決定使用AI的更強大的功能,讓我們說,自 事件的跟蹤,從VS和 重新上登上你的應用程序AI修改代碼
    2. 後來部署。

    現在,當HTTP模塊註冊兩次並開始接收重複的請求數據時,您可能會遇到這種情況。發生這種情況是因爲AI nuget包在web.config中添加HTTP模塊定義,但擴展安裝會將其他程序集丟入應用程序啓動期間動態註冊HTTP模塊的應用程序bin文件夾 - Microsoft.AI.HttpModule.dll(Microsoft.ApplicationInsights.Extensibility.HttpModule .dll在以前的版本中)。要正確處理這種情況,您需要在應用程序部署過程中通過選擇「設置 - >從目標中移除其他文件」來移除擴展剩餘部分,以防從VS部署。

  • +0

    選擇「刪除其他文件目標」選項並從Visual Studio重新部署解決了該問題。謝謝! –