Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-备份的卷影复制替代方案?_C#_Backup_Filestream_Shadow Copy - Fatal编程技术网

C#-备份的卷影复制替代方案?

C#-备份的卷影复制替代方案?,c#,backup,filestream,shadow-copy,C#,Backup,Filestream,Shadow Copy,我在我的C#应用程序中实现了一个RAMDisk,一切都很顺利,除了我需要定期备份内容,因为它很不稳定。我与AlphaVSS争夺卷影副本备份已经有一周了,然后有人告诉我VSS在RAMDisk上不起作用 RAMDisk(Minecraft的世界文件)上的内容非常小,但可能有数百个。其中大多数是.dat文件,大小只有几百字节,还有一些文件的大小都是2-8MB 我昨天发布了这篇文章,建议的解决方案是使用文件流,并从中保存数据。我刚刚读到,对于另一个堆栈溢出问题上的二进制数据,这是一个可怕的想法,因此我正

我在我的C#应用程序中实现了一个RAMDisk,一切都很顺利,除了我需要定期备份内容,因为它很不稳定。我与AlphaVSS争夺卷影副本备份已经有一周了,然后有人告诉我VSS在RAMDisk上不起作用

RAMDisk(Minecraft的世界文件)上的内容非常小,但可能有数百个。其中大多数是.dat文件,大小只有几百字节,还有一些文件的大小都是2-8MB


我昨天发布了这篇文章,建议的解决方案是使用文件流,并从中保存数据。我刚刚读到,对于另一个堆栈溢出问题上的二进制数据,这是一个可怕的想法,因此我正在寻找一种更好的方法来备份所有这些小文件,其中一些可能正在使用。

我建议您首先将所有小文件压缩在一起,然后将它们备份到一个位置

参考:

  • zip库:
  • 使用System.IO.File.Copy复制压缩包

  • RAM磁盘上有哪种类型的文件系统?我使用NTFS文件系统创建了RAM磁盘,那么它上面的VSS就不会有问题了。你能提供一些关于RAM磁盘限制的信息吗?因为VSS是在Windows上复制锁定文件的自然方式。VSS实际上就是为此而创建的。RAMDisk软件的开发人员告诉我VSS通常不适用于RAMDisk的(在我的例子中是ImDisk)。我创建了一个NTFS RAM磁盘,并使用了VSS命令行工具,果然,它没有将E:识别为创建卷影副本的有效驱动器。那么,也许你可以试试其他RAM磁盘软件?例如,为了确保……您可以将其添加到实现ramdisk的c#代码中。或者你的意思是你安装了一个ramdisk,并将其与c#一起用于在ram中存储数据?如果是这样,您可能应该转换为memorystream。