2012-08-14 36 views
0

我有一個腳本可以生成幾個大文件(Product Feeds)並將它們上傳到不同的FTP位置。在asp.net中運行一個長腳本

此腳本需要每日運行。

什麼是首選路線?它目前是一個aspx頁面,但它不需要用戶界面,也不需要在瀏覽器中運行。

什麼是最佳實踐?

有沒有辦法在asp.net中運行無格式腳本?我討厭在服務器上安裝任何東西,即使它是我自己的控制檯應用程序。

該腳本還使用了一個dll(BVSoftware.BVC5),它可能只適用於Web應用程序。

目前,它的計劃任務是打開服務器上的IE並加載頁面,如果運行時間超過1小時,則停止任務「在一小時後關閉IE。

+0

你能不能將它移動到一個可執行文件和使用計劃任務運行呢? – 2012-08-14 15:26:25

+0

嘗試研究[工作者角色](https://www.google.co.uk/#q=worker+roles+in+asp.net) – bPratik 2012-08-14 15:26:32

回答

1

我會簡單地創建一個控制檯應用程序來完成這項工作,並使用Windows計劃程序安排夜間工作。

+0

謝謝,有沒有辦法在asp.net中運行無形腳本? – monsey11 2012-08-14 16:24:00

+0

我不明白你的意思是「無形腳本」。您一定可以拿到代碼,創建一個新項目並在網絡應用程序和新控制檯應用程序之間共享它 - 這就是我會做的,因爲這是乾的。或者...你也可以看看selenium來自動化進程(http://seleniumhq.org/) – Icarus 2012-08-14 17:22:50

1

您可以使用Scheduled Task服務,或者如果您要使用SQL腳本,則可以使用SQL代理作業。

在這裏看到:Writing a Scheduled Windows Service in .NET

+0

我正在使用計劃任務來運行aspx頁面。但意味着它會在服務器上打開瀏覽器,然後在一段時間後需要關閉它。 – monsey11 2012-08-14 15:59:49

+0

我應該指定我的意思是,如果您使用計劃任務,您應該編寫一個控制檯應用程序。 – 2012-08-14 16:03:50

+0

控制檯應用程序意味着在我的本地計算機上構建一個exe文件,並在每次更改時重新安裝在服務器上。我認爲可能有一個更簡單的路徑,有一個腳本(而不是一個網絡表單)並安排腳本。 – monsey11 2012-08-14 16:23:03

0

,因爲它已經作爲一個ASPX頁面的工作,最少的工作是簡單地使用緩存過期預約電話來運行它。但請注意不要依賴它,因爲如果網站很少使用,它可能會停止。 見這裏: How to schedule a C# code execution

+0

這是非常不可靠的。 – Icarus 2012-08-14 15:41:45