在两个网站目录之间复制数据

时间:2016-11-27 20:31:18

标签: c# asp.net-mvc http

我想托管2个网站(Asp.net MVC),他们有一个同名文件夹,我想定期将数据从一个网站复制到另一个网站。例如website1/file/website2/file/

这就是为什么我想创建一个Windows服务才能做到这一点。 我的问题是如何通过http。

在这两个文件夹之间复制数据

1 个答案:

答案 0 :(得分: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. 计算每个节点的delta。例如我有什么文件的主人没有?主人有哪些文件,我没有。他们的命名是否与其他节点冲突?如何确定最新文件是什么?
  3. 传输文件..需要某种端点才能作为服务的一部分或现有网站连接。
  4. Http Client发送文件并处理传输的进度/状态以进行错误处理。
  5. 对所有错误进行处理,如果文件部分转移到主服务器以及如何清理失败的文件,会发生什么。
  6. 这可能是尝试这样做的复杂性的一小部分。因此,我建议使用现有产品或云服务。