在我的网络应用程序中,我有一个仅用于显示目的的页面。验证数据后,用户可以下载报告,大约需要2-3分钟。我需要减少这段时间。因此,我想在调用页面后启动报告生成,以分享时间,而不会影响页面加载。我尝试在页面加载中使用Task.Factory.StartNew()
同时执行报告生成方法。问题是,我能够按照我的预期执行方法。但是,它仅在报告生成完成时显示页面,即使页面加载事件结束。一旦页面加载完成,是否可以强制显示页面,并继续后面的报告生成过程?这是我的代码,
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
// page load condition checks
Task.Factory.StartNew(() => GenerateReports(), CancellationToken.None,
TaskCreationOptions.None, TaskScheduler.Default);
//
}
}
答案 0 :(得分:-1)
这会给你带来相同的结果吗?
$('#out').focus(function() {
$(this).select();
});
$('#out').on('mousedown.selectOnFocus', function() {
if (!($(this).is(':focus'))) {
$(this).focus();
$(this).one('mouseup.selectOnFocus', function(up) {
up.preventDefault();
});
}
});
编辑:尝试将其放入新方法并从pageload调用方法
Edit2:正如Aron建议不要使用任务运行。我只是试图帮助我在c#not asp中知道的东西。如果我进一步考虑它......如果客户端刷新太多次,它可能会使服务器超载,这会产生多个任务......