皆さんおはよう、
C#.NET4.0およびVisualStudio2012Expressを使用します。
いくつかのSQLストアドプロシージャを実行し、データベースにアクセスしてレポートを自動生成し、それらを電子メールで送信するプログラムがあります。
日付を設定しているので、深夜になるとすぐに実行されます。
以下はコードサンプルです。
private void button1_Click(object sender, EventArgs e)
{
Thread myUltiThread = new Thread(GetCurrentDate);
myUltiThread.Start();
}
private void GetCurrentDate()
{
string myDate = "";
myDate = DateTime.Today.Day.ToString();
if(myDate == "7" && myDateToggle == false)
{
Task t = new Task(() => RunMonthBackUp());
t.Start();
}
if (myDate == "8" && myDateToggle == true)
{
myDateToggle = false;
}
}
ボタンが押されるとわかるように、プログラムはgetdateメソッドを使用するスレッドを開始します。このメソッドは、日付が正しいかどうかをチェックします。
その場合、プロセス全体を実行するタスクを開始します。
私の問題は、これが発生していないことです。メソッドが1回しか実行されていないためだと思います。これは、スレッドの操作についての理解が不足しているためだと感じています(通常はタスクのみを処理します)。
誰かが私がどこで間違っているのか、そしてこれを正しく設定する方法を私に指摘できますか?
みんなありがとう