2008-11-20 30 views

回答

0

如果您有對服務器的管理訪問權限,那麼我將運行Windows服務或預定的SQL作業,具體取決於您要實現的目標。

能夠獨立於Web應用程序停止/啓動和記錄這些作業是很好的。另外,如果您在工作中遇到問題或錯誤,可能會對您的網站產生不利影響。

最後,您迫使Web應用程序通過代碼請求查看計時器是否已經過去,這是不必要的開銷。

正如我剛纔所說,實施取決於工作是什麼。如果僅僅是更新一些數據庫記錄,我會在SQL Server中使用一個預定的作業。如果您需要文件I/O或訪問外部服務,則Windows服務可能更合適。

值得注意的是,您需要在Windows服務中建立自己的日程安排和線程安全性。另一種方法是構建控制檯應用程序並使用類似FireDaemon的應用程序進行調度。

1

在我看來,在Web應用程序中進行基於時間的事情並沒有真正的好處。直接去一個Windows服務。你知道這個過程應該始終在運行。

ASP.NET網站可能會簡單地卸載,並且只有當某人開始瀏覽時纔會再次運行。生命週期全都是錯誤的 - 比服務更「更加劃分」。

最後,服務不是很難創建。