Это мой код таймера:
private static System.Timers.Timer CSVTimer;
public static void CSVTimer_Start()
{
CSVTimer = new System.Timers.Timer();
CSVTimer.Interval = 10000;
CSVTimer.Elapsed += TCSVCreatEvent;
CSVTimer.AutoReset = true;
CSVTimer.Enabled = true;
}
public static string s = "";
private static void TCSVCreatEvent(Object source, System.Timers.ElapsedEventArgs e)
{
s += "[ADD0]";
DatabaseController DC = new DatabaseController();
string systempath = @"C:\inetpub\wwwroot\DiceGameServerPath\File\SuibaoFile";
string FileName = DateTime.Now.AddDays(-1).ToString("yyyy_MM_dd_HHmmss") + ".csv";
string text = "test0,test1,test2" + Environment.NewLine;
//text += DC.ReturnYesterdayData();
s += "[ADD1]";
if (!File.Exists(systempath + FileName))
{
s += "[ADD2]";
var NewFile = File.Create(systempath + FileName);
s += "[ADD3]";
NewFile.Close();
s += "[ADD4]";
FileStream fs = new FileStream(systempath + FileName, FileMode.Open, FileAccess.Write);
s += "[ADD5]";
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));
s += "[ADD6]";
sw.Write(text);
s += "[ADD7]";
sw.Close();
s += "[ADD8]";
}
}
Я пытаюсь использовать этот код для записи файла .csv
, но он не работает.
Я печатаю s
чтобы посмотреть, где остановиться, я останавливаю код на «[ADD2]»
Затем я копирую TCSVCreatEvent()
код и использую кнопку для вызова этого метода, он очень хорошо работает
Так что яНе понимаю, почему тот же код не может работать в таймере?
------------- edit -----------
код остановки в
var NewFile = File.Create(systempath + FileName);