簡體   English   中英

如何為我的ASP.Net Web應用程序測試Windows Service Scheduler?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM