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を必要としない方法もあります。
//内部に非同期呼び出しまたはスレッド呼び出しをしていますか?それらが別のスレッドで実行されている場合、メインコンソールスレッドが終了したときに終了するつもりです –
いいえ非同期呼び出しがありません –
もう少し複雑なコードは表示されませんが、コメントするのは難しいでしょう –