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

时间:2014-07-02 22:13:50

标签: c# xml image filesystems administration

在学校里制作一些管理软件,我制作一个应用程序,将文件从互联网上的其他计算机上传到FTP服务器。 (我们需要在我们想要管理的PC上安装一个Windows服务来实现它。)

所以我需要制作像文件资源管理器"这样的东西,我可以在文件上右击,然后按上传。 让我们说管理PC是PC1,我们要管理的PC是PC2

当他想要整个文件系统的新图像时,我想到了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>

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

也许您可以调查Signalr.net,它可以从Windows应用程序或基于Web的方法使用。我还没有使用过该技术,但这里有一个链接可以帮助您入门:Introduction to SignalR 我相信这将是一个案例:

  1. 安装Signalr Server
  2. 在主机之间发送消息。
  3. 例如。

    • PC1。发送消息询问可用驱动器列表
    • PC2。用C:,D:等回复
    • PC1发送询问C:contents
    • 的消息
    • PC2以Folder \,Folder2 \,File1.txt等方式响应

    使用这种方法意味着您不必拍摄&#34;图像&#34;或文件系统的快照,使其更快,并且需要更少的带宽。