制作“图像”c#的整个文件系统

本文关键字:文件系统 图像 制作 | 更新日期: 2023-09-27 18:11:09

当时学校正在制作一些管理软件,我想制作一个应用程序,以便从互联网上的另一台计算机上上传文件到ftp服务器。(我们需要在我们想要管理的pc上安装一个windows服务来实现它。)

所以我需要做一些像"文件资源管理器",在那里我可以右键单击一个文件,并按下上传。假设管理PC是PC1,我们想要管理的PC是PC2

当PC1想要整个文件系统的新映像时,我想到PC1向PC2发送一条消息。当PC2收到这样的消息时,他将图像上传到FTP服务器上。

我如何实现这个"图像"?我只需要知道文件夹名称,绝对文件夹路径和文件名(也许文件大小和其他信息太)重建图像在一个树视图。

我考虑过用XML实现它。比如:

<fileSystem>
  <drive name="c:">
    <item type="folder" name="folder1">
      <item type="file" name="file1"/>
      <item type="file" name="file2"/>
      <item type="folder" name="folder2"/>
      <item type="folder" name="folder3">
        <item type="file" name="file3"/>
      </item>
    </item>
  </drive>
</fileSystem>

有没有其他更好的解决方案?你会怎么做?

提前感谢!

制作“图像”c#的整个文件系统

正如Justin所说,您的数据模型看起来不错,两台主机之间的通信需要认真考虑。

也许你可以研究Signalr.net,它可以从Windows应用程序或基于web的方法中使用。我没有使用过这项技术,但这里有一个链接可以让你入门:SignalR简介我认为这将是一种情况:

  1. 安装信号服务器
  2. 在主机间发送消息。

  • PC1。发送请求可用驱动器列表的消息
  • PC2。响应C:, D: etc
  • PC1发送请求C: contents
  • PC2响应文件夹',文件夹2',File1.txt等

使用这种方法意味着您不必拍摄文件系统的"映像"或快照,使其更快,所需的带宽更少。