【发布时间】:2021-06-12 18:18:46
【问题描述】:
我正在使用 asp .net webforms,并且我有一个生成 Excel 报告的按钮,这是一个很长的操作。 我希望在任务运行期间和完成后更新标签的文本。
按钮点击:
protected void btnExportExcel_Click(object sender, EventArgs e)
{
FetchAllFilesAsync(false);
}
调用函数:
private async Task FetchAllFilesAsync(bool isPDF = false)
{
await Task.Run(() => { DownLoadAllAsyncExcelAndPDFS(isPDF); });
}
任务功能
private void DownLoadAllAsyncExcelAndPDFS(bool isPDF = false)
{
//Do Some Work
}
【问题讨论】:
-
观察:Task.Run 是对线程池资源的浪费。您的请求线程将无所事事,不妨使用它来同步调用方法。
-
您可能希望将background processing technology 与向客户端推送通知的方法结合使用。
标签: c# asp.net multithreading webforms task