2017-08-25 55 views
0

我有一個控制檯應用程序,它在15分鐘的時間間隔後通過Web作業調度程序運行。但問題在於Application Insight Telemetry不會在代碼末尾使用Thread.Sleep來發送數據。Application Insight不會在不使用Thread.Sleep的情況下發送數據

private static void Main(string[] args) 
    { 
     Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.Active.InstrumentationKey = "APPINSIGHTS_INSTRUMENTATIONKEY"; 
     //do others stuff 
     System.Threading.Thread.Sleep(10000); 
    } 

在這裏,我使用了10秒的線程睡眠。但有時它會遺漏最後一部分的一些數據。但是,在70秒後它工作正常。

我想知道,每個數據發送的最小休眠時間是多少。

或者,有任何其他方式不需要Thread.Sleep。

+0

您是否在做其他任何異步或線程調用?如果它們運行在不同的線程中,當主控臺線程結束時它們將被終止 –

+0

不,沒有異步調用 –

+0

沒有看到更多的代碼涉及將很難評論 –

回答

1

如果將DeveloperMode設置爲true,會發生什麼情況,如here? AI不直接發送遙測項目。如果它在開發者模式下工作,也許你應該調用Flush,如here所述。另外,請記住,門戶網站上出現的項目可能需要幾分鐘的時間

相關問題