当一个或多个文件被添加到文件夹" SentBox"时,我的应用程序将检测到它并逐个进行,这是我的代码:
public void SetUp_Timers()
{
MsgHandler.Interval = new TimeSpan(0, 0, 1);
MsgHandler.Tick += MsgHandler_Tick;
MsgHandler.Start();
}
private void MsgHandler_Tick(object sender, EventArgs e)
{
if (Directory.GetFiles(Path_SentBox).Count() > 0)
{
string pt = Directory.GetFiles(Path_SentBox)[0];
Message ms = JsonConvert.DeserializeObject<Message>(Security_ReadAllText(pt));
ProceedMsg(ms, pt);
}
}
public async void ProceedMsg(Message msg, string msgpath)
{
MsgHandler.Stop();
//more code....
File.Delete(msgpath);
MsgHandler.Start();
}
到目前为止,这从未给我一个意想不到的结果。
最近,我找到了一个名为FileSystemWatcher
的课程。根据他们所说的here和here,该类用于监视指定目录中的更改。
我的问题:
FileSystemWatcher
实现我的目标?编辑:
我不确定你是否需要这个:
public void SendMessage(Message msg)
{
string fn = msg.Type + "_" + FileNameFix(DateTime.Now.ToShortDateString() + DateTime.Now.ToLongTimeString() + Path.GetRandomFileName().Replace(".", "") + ".kmsg");
Security_WriteAllText(Path_SentBox + "\\" + fn, JsonConvert.SerializeObject(msg));
}