我正在运行一个长期运行的功能作为背景,在我的任务asp.net 应用程序。 之前完成任务的主线退出(我希望这种方式只能,因为如果我使用的等待着关键词以及使主线等背景任务完成,我得到代理的错误消息
代理的错误
代理服务器收到一个无效的响应,从上游服务器由于背景的任务是太长
但是一次之后完成的任务既不是我能刷新网页的重新定向到同一个网页或者两者都不是我能够复盖的用户界面。 是否有任何方式来更新UI后主线,完成了执行。
我的代码如下:
protected void btnImport_Click(object sender, EventArgs e)
{
var task = ImportThread();
if (task.IsCompleted)
{
DisplaySuccess("Import success");
}
else
DisplayError("Import failed");
}
private async Task<bool> ImportThread()
{
try
{
var success = await Task<bool>.Run(() => new Manager().Import().ConfigureAwait(false);
if (task.IsCompleted)
{
DisplaySuccess("Import success");
}
else
{
DisplayError("Import failed");
}
return true;
}
上述异步的任务等待着下面的方法,它存在于另一类。
public bool Import()
{
// some operations here
return true;
}
在此之后的方法完成的控制返回的背 ImportThread()
但编写的代码没有复盖UI是没有更新的用户界面。 我需要更新的用户界面与所述状况的进口。 还从 ImportThread
控制不打算回到按钮击事件的方法。
请帮助我的任何方式来更新UI状况的进口。
注:我试图使用 Redirect.Response
在 ImportThread()
刷新的网页,但没有工作