2014-01-28 78 views

回答

1

創建控制檯應用程序並運行它作爲Windows計劃任務

1

Web應用程序不適合這個。 Web應用程序是請求/響應系統,它們只在響應請求時才「運行」。除此之外,他們受到Web服務器資源管理的支配。

什麼你要找的是兩種:

  • Windows服務
  • 控制檯應用程序

在Windows服務的情況下,你將與一個Timer執行實現它在特定時間的一些功能。在控制檯應用程序的情況下,它會默認執行該功能,並計劃在特定時間運行(可能使用內置於Windows的任務計劃程序)。

如果您要執行的功能是Web應用程序的一部分,那沒問題。您可以將它從Web應用程序中提取到同一解決方案中的類庫中,並讓Web應用程序引用該庫。然後將Windows服務或控制檯應用程序添加到相同的解決方案並引用相同的庫。這樣他們會分享相同的代碼。

根據個人喜好,如果您對Windows服務不太熟悉,那麼您可能會發現控制檯應用程序將更容易調試。

1

作爲服務器端任務,我根本不會推薦控制檯應用程序。

最好的辦法是使用Window Forms應用程序,刪除所有創建初始窗體和對Windows Form API的引用的代碼。

你留下的是一個應用程序,它不會打開控制檯窗口,也不會打開窗體或其他任何東西。它將只運行沒有任何GUI。

在那裏你可以放入你想要的一切。

然後安排應用程序在指定時間運行:Task Scheduler

這是好得多,因爲系統管理員可以更改調度,而無需觸摸你的代碼。

0

雖然不是最性感的解決方案。到目前爲止,最簡單的解決方案是通過觸發您希望在指定時間運行的功能,在您的應用程序中使用計劃任務來達到終點。我已經看到在相當大的應用中這種部署非常成功。

下面的文章介紹瞭如何做到這一點的一個很好的描述。

Recommended method for loading a URL via a scheduled task on Windows

對於那些倡導建設服務等我同意,這將是一個很好的解決方案,但如果你想要做的就是運行一個快速批處理作業每天一次也許是越簡單越好。

相關問題