此方法调用页面加载。
页面加载:
protected void Page_Load(object sender, EventArgs e)
{
run_after_pageload();
}
我的方法:
public void run_after_pageload()
{
// code
}
答案 0 :(得分:0)
除了使用 QueueBackgroundWorkItem (https://docs.microsoft.com/en-us/dotnet/api/system.web.hosting.hostingenvironment.queuebackgroundworkitem),您还可以使用 HttpTaskAsyncHandler,使用async,使用await Task.Delay(xxxx)。
大致如下:
using System;
using System.Web;
using System.Threading.Tasks;
namespace PageLoadWithDelay
{
public class DelayedLoad : HttpTaskAsyncHandler
{
private int _delay = 1 * 1000;
public override async Task ProcessRequestAsync(HttpContext context)
{
var response = context.Response;
await LongRunningDatabaseOrNetworkTask(....);
await Task.Delay(_delay);
await LongRunningDatabaseOrNetworkTask(....);
}
public override bool IsReusable
{
get { return true; }
}
public override void ProcessRequest(HttpContext context)
{
throw new Exception("no implementation.");
}
}
}
并使用它代替常规的 aspx 页面。
答案 1 :(得分:-2)
您应该查看System.Web.UI.Timer。
答案 2 :(得分:-3)
有两种选择。 选项一是使用计时器。这将允许您指定时间段,如果需要,则可以指定时间间隔。如果您只是在运行它,只需禁用计时器
选项二。使用
System.Threading.Thread.Sleep(10000);
其中sleep函数中的数字是以ms为单位的等待时间。 1000毫秒= 1秒