簡體   English   中英

如何使用 ASP.NET web 頁面安排在服務器上下載文件

[英]How to schedule downloading of files on server using ASP.NET web page

如何將文件從 web 服務器下載到另一個 iis 服務器

例如,我有很多電影文件想在我的網站上托管

電影上傳到其他網站,我想在我自己的網站上獲取它們。

是否可以使用 ASP.NET web 頁面安排在服務器上異步下載文件? 我只有 FTP 訪問 web 服務器,因為我正在使用共享主機。

您可以做的一件事是使用Window 服務,即創建 Window 服務並放入計時器,這將輕松解決您的問題。

這是一篇好文章:組合 Web 和 Windows 服務以按計划的時間間隔運行您的 ASP.NET 代碼

如果您使用的是共享主機,那么安排任務將會很困難。 您可以實現一個在請求時執行下載的服務頁面。 此頁面將在目標服務器上運行並從源服務器請求文件列表並繼續下載這些文件。 服務器執行所有工作,請求服務頁面的客戶端可以獲得服務器正在做什么的簡短日志。

接下來在其他一些系統上設置一個計划任務,該任務會定期調用服務頁面。

由於對服務頁面的調用在客戶端上的負載非常低,您幾乎可以從任何地方(家庭或辦公室服務器、您坐在壁櫥中某處的智能路由器(dd-wrt)甚至您的智能手機)執行此操作) .

這種方法的好處是您可以通過直接從瀏覽器訪問服務頁面來手動觸發從任何地方下載。

不利的一面是,如果完成下載的時間超過最大請求持續時間,您的請求可能會被終止。 如果發生這種情況,您可能需要查看異步處理程序

您可以連接一個任務以在每次頁面加載或應用程序啟動時運行(並定期回收應用程序池),但 ASP.NET 不是為此類任務設計的。

您最好構建一個服務或命令行工具,該工具可以附加到任務計划程序以每隔一段時間進行下載。

1) 將條目添加到 ASP.Net 應用程序中的隊列 - MSMQ 或數據庫表。

2) 編寫一個從隊列中讀取並處理每個項目的 windows 服務/控制台應用程序。

您還可以使用 SQL 中的 ScheduledTask 實現 (2) - 毫無疑問,還有很多其他方式 - 關鍵是您將隊列放在中間以提供斷開連接和異步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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