私は2つのメソッドを持っています。 1番目のメソッドは.exeを開始し、2番目のメソッドはその.exeによって作成された出力ファイルを検索します。一定時間X分ごとにメソッドを呼び出す方法
プログラムは、.exeが呼び出された後に出力X分(app.configで定義された)を探し始める必要があります。
特定の頻度(app.configで定義されている)の後に出力ファイルを検索するメソッドを呼び出す必要があります。見つかった場合は出力ファイルを探します。偽は眠る。
.exeが呼び出されてからY分(app.configで定義)までの手順2を繰り返します。超えた場合は復帰失敗を止め、次のステートメントに進みます。
私は.exeをした時刻を取得するためにdatetime.now
を使用することができます開始されますが、それにXとY分を追加し、それらの時間制限を使用する方法方法を見つけ出すことはできません。ここで
は、これまでの私のコードです:
//Running the process .exe
DV.runprocess();
// check output file
String checkOutputFrequency=System.Configuration.ConfigurationManager.AppSettings["CheckOutputFrequency"].ToString();
decimal outfrequencyVal = (!string.IsNullOrEmpty(checkOutputFrequency)) ? Decimal.Parse(checkOutputFrequency) : 1;
bool FileFound = false;
while (true)
{
FileFound = DV.checkOutputFile();
if (FileFound == true)
break;
System.Threading.Thread.Sleep(Convert.ToInt32(outfrequencyVal * 60 * 1000));
}
XとYを秒で表します。 CurrentTimeをZ(エポックタイム)とする。 StopTime = Z + Y.' while(Z <= StopTime){//作業を行います。スリープ(X); Z = GetCurrentTimeInSeconds(); } ' – sameerkn
[x分ごとにメソッドを呼び出す]の可能な複製(http://stackoverflow.com/questions/13019433/calling-method-on-every-x-minutes) – Prabu