c# - 使用 aspx 页面时可以停止任务吗?
问题描述
如何Task
从 aspx 页面停止和开始长时间运行?我知道如何CancellationTokenSource
在 C# 中停止任务。在 Windows 窗体和控制台应用程序中。但似乎无法让它在 aspx 页面上工作。甚至可能吗?我很确定,因为该页面正在发布 UI 线程丢失了。下面是一个 Windows 窗体项目的示例。
private async void btnGetDataAwait_Click(object sender, EventArgs e)
{
tokenSource = new CancellationTokenSource();
try
{
btnGetDataAwait.Enabled = false;
List<Person> people = await repo.Get(tokenSource.Token);
foreach (var person in people)
{
listBox1.Items.Add(person);
}
btnGetDataAwait.Enabled = true;
}
catch(OperationCanceledException ex)
{
MessageBox.Show(ex.Message, "TASK CANCELED");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "EXCEPTION");
}
}
如果您的任务故意处于无限循环中,您如何抓住相同的线程/任务并停止它?
解决方案
推荐阅读
- php - Windows 上的 PHPPGAdmin 给出“虚拟类 -- 无法实例化”错误
- devops - ClearML 从记录的值中获取最大值
- html - 为什么我的某些元素边框比其他元素边框更暗?
- r - 如何使用 lapply、sapply 或 apply 在 R 中过滤数据框?
- windows - 可以复制/粘贴到命令提示符的最大行数
- python - 迭代数据框单元格中的列表
- python - 用有限差分方法检查神经网络梯度不起作用
- javascript - 将两个对象与数组进行质量比较
- api - Strava API - 使用元数据检索活动照片
- django - 如何使一个应用程序的一个视图显示在 Django 的所有 url 中?