スタートアップとシャットダウン時に通知されるイベントログメッセージを使用してリモートPCの稼働時間を確立するための短いプログラムを作成しました。現在、ロジックは次のとおりです。イベントログを最新のものから最新のものへ
foreach (eventlogentry)
{
if (entryTime > OldestTime)
{
if (entry = Startup)
{
addOnTime(entry.Time);
}
if (entry = Shutdown)
{
addOffTime(entry.Time);
}
}
}
「OldestTimeは」時間に逆方向にスキャンする方法をはるかに定義....
私はとにかく簡単からイベントを読み取るための私のプログラムをammendに存在しているかどうかを知りたいです最新のものから古いものまで?
このイベントは、リモートイベントログを読み込んでいて、この関数が実行されるまでには時間がかかります。
foreachブロックから抜け出すために最初の "if"に "else"ブロックを追加したため、私たちが探しているタイムパン内のエントリがisntで、プログラムstopが最初のイベント。
どのようにイベントログを読んでいますか?ログを読み取る方法を変更して、異なる順序で処理するようにすることはできますが、コード内でこの時点までに読み取りが行われ、順序を変更することはできません。 – mfdoran
はこれらのログテキストファイルですか?もしそうなら、リストに最初にロードしてから、最後にそれを読んではいけませんか? – ScruffyDuck
これらのリモート偶数ログエントリを照会するのにどのAPIを使用していますか? OldestTimeより新しいエントリだけをリクエストするAPIがありますか?そうすれば注文は本当に重要ではありません。 – thelsdj