我需要做的是能够取消运行异步的任务.
我一直在寻找,似乎无法绕过它.我似乎无法辨别它将如何实现到我当前的设置中.
这是我的代码,它解雇了我的任务.任何有关在何处或如何实施取消令牌的帮助将不胜感激.
private async void startThread()
{
//do ui stuff before starting
ProgressLabel.Text = String.Format("0 / {0} Runs Completed", index.Count());
ProgressBar.Maximum = index.Count();
await ExecuteProcesses();
//sort list of output lines
outputList = outputList.OrderBy(o => o.RunNumber).ToList();
foreach (Output o in outputList)
{
string outStr = o.RunNumber + "," + o.Index;
foreach (double oV in o.Values)
{
outStr += String.Format(",{0}", oV);
}
outputStrings.Add(outStr);
}
string[] csvOut = outputStrings.ToArray();
File.WriteAllLines(settings.OutputFile, csvOut);
//do ui stuff after completing.
ProgressLabel.Text = index.Count() + " runs …Run Code Online (Sandbox Code Playgroud) 我的情况很简单但很复杂.我正在尝试编写一个程序,需要执行1100次外部进程,每次执行4次.我完全不知道如何解决这个问题.我正在编写的应用程序是"Windows窗体应用程序",我正在利用BackgroundWorker来运行异步任务.
例如,我有一个包含1100个不同字符串的列表,我希望每个字符串运行一次该进程,但一次只运行4个,然后继续执行下一个4.
任何帮助,将不胜感激.