[英]How to test windows service scheduler for my ASP.Net Web Application?
我為我的Web應用程序創建了一個調度程序,該調度程序設置為每3秒觸發一次。 我想使用Console.Write(“ bob”)來查看調度程序是否正常運行,但是沒有任何反應,僅在單擊“調試”按鈕后創建了網頁。 我是在測試錯誤的方式還是調度程序確實無法正常工作?
這是我寫的代碼:
namespace Scheduler
{
public partial class CheckExpireService : ServiceBase
{
private CheckExpireJob job;
private Timer stateTimer;
private TimerCallback timerDelegate;
public CheckExpireService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
job = new CheckExpireJob();
timerDelegate = new TimerCallback(job.CheckExpireApplicants);
stateTimer = new Timer(timerDelegate, null, 1000, 3000);
}
protected override void OnStop()
{
stateTimer.Dispose();
}
}
}
namespace Scheduler
{
class CheckExpireJob: ServiceBase
{
public void CheckExpireApplicants(object stateObject) {
Console.Write("bob");
}
}
}
提前致謝!!
(我本來要發表評論,但是編輯和回答是我似乎唯一可以使用的功能。)
首先,我認為您不能在調試模式下運行Windows服務...必須將其編譯並安裝為服務,並使用Windows中的服務管理器啟動和停止。 如果您在Web應用程序中的某處擁有此代碼,它將無法正常工作。 它需要一個單獨的項目。
其次,您不能像這樣構造和調用服務。 如果您希望某個服務在一定時間間隔內執行某項操作,則需要在該服務中包含計時器及其所有功能。
您無法安排網絡應用程序...它會在有人訪問該頁面時運行。 您真正需要安排的是什么? 定期更新Web應用程序將要提取的數據?
需要更多有關您要完成的工作的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.