如何安排任务在 asp.net 网络表单中的特定日期之后执行?

How do schedule a task to do it after at a specific date in asp.net webforms?

假设我正在设计一个考试门户页面,我想在其中显示考试日期和时间的倒计时,如果达到该特定日期和时间,我想将用户重定向到登录页面。我怎样才能做到这一点?我曾尝试使用 Hangfire,但它不会在 reached.The 计划作业在数据库上更新 (HangFire.Job) 后将我重定向到重定向页面,但它不会将我重定向到另一个页面。我是编程方面的新手,我知道的不多,所以指导我如何实现类似的东西将不胜感激,是的,甚至可以使用 Hangfire 做这样的事情吗?

 public void Configuration(IAppBuilder app)
    {
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=316888
        GlobalConfiguration.Configuration
        .UseSqlServerStorage("calanders");
        var option = new DashboardOptions { AppPath = VirtualPathUtility.ToAbsolute("/Default.aspx") };
        app.UseHangfireDashboard("/hangfire",option);
        app.UseHangfireServer();
    }

这是Startup.cs

 protected void Button1_Click(object sender, EventArgs e)
    {
       
        GlobalConfiguration.Configuration
            .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
            .UseColouredConsoleLogProvider()
            .UseSimpleAssemblyNameTypeSerializer()
            .UseRecommendedSerializerSettings()
            .UseSqlServerStorage("calanders", new SqlServerStorageOptions
            {
                CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
                SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
                QueuePollInterval = TimeSpan.Zero,
                UseRecommendedIsolationLevel = true
            });

        BackgroundJob.Schedule(() => startCountdown(),TimeSpan.FromSeconds(20));
        
        //d.InsertDate(TextBox1.Text.ToDa);

    }

    public void startCountdown()
    {
        Response.Write("<script>alert('Time Reached')</script>");
        Response.Redirect("WebForm1.aspx");

    }

这是主页。 (Default.aspx)

在网络表单中,在回发之间没有与服务器的持续连接,因此在服务器端激活的作业将无法在未来的任意时间与用户交互;仅在触发按钮点击和返回响应之间的即时时间内。

如果您想显示一个计时器,然后在它完成后执行某些操作,您应该研究如何在客户端使用 Javascript 执行此操作(如果这适用于您的方案)。如果需要,您可以使用 Javascript 向服务器发出后台请求,但您的工作不会直接由服务器端驱动。