假設我正在設計一個考試門戶頁面,我想在其中顯示考試日期和時間的倒計時,如果達到該特定日期和時間,我想將用戶重定向到登錄頁面。我怎樣才能做到這一點?我曾嘗試使用 Hangfire,但在到達時間后它不會將我重定向到重定向頁面。計劃的作業會在資料庫(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");
}
這是主頁。(默認.aspx)
uj5u.com熱心網友回復:
在 webforms 中,回發之間沒有與服務器的持續連接,因此在服務器端激活的作業將無法在任意未來時間與用戶互動;僅在觸發按鈕單擊和回傳回應之間的即時時間內。
如果您想顯示一個計時器,然后在完成后執行某些操作,您應該研究如何在客戶端使用 Javascript 來執行此操作,如果這適用于您的場景。如果需要,您可以使用 Javascript 向服務器發出后臺請求,但您的作業不會直接由服務器端驅動。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/461492.html
