2012-03-21 29 views
0

我正在創建一個Web應用程序,我需要讓用戶安排任務的執行。 我已經通過各種線程來安排任務,但他們都使用我不知道的Windows服務。此外,由於預算限制,我無法在服務器系統中安裝Visual Studio。 有沒有辦法在asp.net應用程序中創建一個在後臺線程中運行調度器的方法。任何代碼示例都會有很大的幫助。需要安排一個方法在asp.net中的執行方式

+1

除了使用內置的Windows任務調度器來啓動IE嗎?您可以使用它來安排頁面的執行。防爆。 \ iexplore.exe%1 kpcrash 2012-03-21 12:37:22

回答

1

這不是要走的路。如果您需要計劃任務,則應創建一個控制檯應用程序並使用Windows任務計劃程序運行它。

您可以創建一個應用程序,嚮應用程序發送一封電子郵件,並附帶一個指向應該完成任務的頁面的鏈接。

+0

感謝您的回覆,但我所做的實際上是對當前項目的增強。 因此,我當前的應用程序是一個Web應用程序,我需要從中安排任務 – 2012-03-21 12:44:25

+0

我剛剛在我的答案中添加了幾行代碼,但不幸在Web應用程序上創建計劃任務並沒有多大意義。 – 2012-03-21 12:49:21

1

有一點要明白的是,ASP.NET旨在爲來自網絡的請求提供服務。 它的一切都是爲了這個。所以,是的,你可以運行後臺任務,但有一些注意事項和疑難雜症。

例如,如果IIS在某段時間內沒有收到任何請求,它將關閉您的ASP.NET應用程序。此外,如果您的應用程序檢測到文件系統更改,則可能會在未發出警告的情況下重新啓動。所以,運行代碼將被中止。

這並不是說你無法解決這些問題,但它確實不適合計劃任務執行。

最好的辦法是將任務的詳細信息存儲在數據庫中,然後使用一個始終運行的Windows服務(實際上並不困難,有很多示例)或控制檯應用程序(如建議)安排手動定期運行,執行這些任務。

您可能會發現像Quartz.NET這樣的庫可能有助於調度/運行這些任務。

相關問題