【发布时间】:2021-09-06 20:51:50
【问题描述】:
我有一个程序 (.NET Core C#) 从数据库中删除每个帐户的数据 - 删除与该帐户相关的所有数据。 我想添加一个选项来停止程序,但为程序所在的人完成删除,然后停止并退出。 我想做这样的事情,当我按任意键时,程序将完成打印 10 个条目,然后停止并退出。例如:
public static void Main(string[] args)
{
// ???
}
static void Console_CancelKeyPress(object sender, ConsoleCancelEventArgs e)
{
Console.WriteLine("Shutting down...");
// Cleanup here
}
private static async Task MyTask(CancellationToken cancellationToken)
{
Print(cancellationToken);
}
public static void Print(CancellationToken cancellationToken)
{
while (cancellationToken.IsCancellationRequested!)
{
for (int i = 1; i < 10; i++)
{
Console.WriteLine(i);
}
}
}
我想知道你有什么想法,
谢谢!
【问题讨论】:
-
也许我不明白完整的问题:当我必须中断/取消情况时,我必须检查循环开始(或结束)的条件,并且必须设置从外部(是的,也许如果这是异步或线程,您必须解决该通信任务)但基本上:归结为“如果(中断条件)......”
-
我的意思是从外部获取信息,比如ctrl+c或者别的什么,当我点击它时,让程序完成删除她所在的账户数据,然后停止并退出。
标签: c# asp.net-core cancellation cancellationtokensource cancellation-token