2016-11-27 74 views
0

我想要託管2個網站(Asp.net MVC),它們有一個具有相同名稱的文件夾,並且我想要定期將數據從一個網站複製到另一個網站。例如website1/file/website2/file/在兩個網站目錄之間複製數據

這就是爲什麼我想創建一個Windows服務,爲了做到這一點。 我的問題是如何通過http在這兩個文件夾之間複製數據。

+0

爲什麼要使用http在同一臺服務器上的兩個文件夾之間複製文件?您可以使用諸如rsync之類的程序並使用cron作業運行它。 –

+0

你有獨特的文件命名方案嗎?否則你可能會覆蓋文件。 –

+0

您還有多少訪問主機操作系統的權限。他們是什麼Windows 2012 R2?很難回答完全沒有更多的信息 –

回答

0

就個人而言,開發一個解決方案的複雜性,我會尋找使用某種服務,如DropBox。

另一種替代方法是將文件存儲在分佈式文件系統中。這可能是Amazon S3或Azure Blob Store。這首先消除了整個同步的需要。這可以通過可以將文件流式傳輸到最終用戶的代理Web服務來實現。

我建議這樣做的原因是因爲在通過HTTP管理文件同步方面存在很多複雜性。

我不認爲你會得到一個完整的解決方案在StackOverflow,但我可以提出一些建議。

  1. 我會使用主從系統來協調同步。這將需要一些設計並增加複雜性。但是會給你在將來添加更多節點的能力。實現一個主從系統不容易在一篇文章中詳細說明,並需要您進一步研究。這裏已經有很好的資源。 How to elect a master node among the nodes running in a cluster?
  2. 計算每個節點的增量。例如我有什麼文件的主人沒有?主人有什麼文件,我沒有。他們的命名是否在其他節點上發生衝突?如何確定什麼是最新的日期文件?
  3. 傳輸文件..需要某種終端連接到作爲服務的一部分或作爲您現有的網站。
  4. Http客戶端發送文件並處理進程/傳輸狀態以進行錯誤處理。
  5. 所有錯誤處理,如果文件部分轉移到主文件以及如何清理失敗的文件會發生什麼情況。

這可能是試圖做到這一點的複雜性的一端。因此,我建議使用現有的產品或雲服務。

相關問題