将已编译应用程序的输出保存到内存而不是硬盘

时间:2011-07-30 12:32:37

标签: c# .net memory

我有一个应用程序(EXE文件)。它正在运行并且在运行时在硬盘上生成一些文件(jpeg文件)。我们知道读写硬盘性能不佳。

是否有任何解决办法强制此应用程序使用内存来保存其输出jpeg文件。

如果此解决方案在Windows下并使用C#,那将是理想的。

感谢。

3 个答案:

答案 0 :(得分:1)

最简单的选项可能不是程序化的选项 - 它只是使用RAMDisk等RAM磁盘(当然还有其他可用的磁盘)。

通过这种方式,其他流程可以轻松使用结果,而不会产生任何混乱。

答案 1 :(得分:1)

由于您没有EXE的源,并且您不能/不会使用RAM磁盘,因此下一个选项是提高机器的IO性能:

使用SSD或RAID 0阵列,或添加可用作缓存的大量内存。

但是如果没有访问应用程序的源代码,这不是一个编程问题,因为你可以“编程”解决方案的唯一方法是编写自己的RAM磁盘应用程序 - 而且你不能使用RAM磁盘,所以你说过。

答案 2 :(得分:1)

如果你真的需要使这个解决方案具有程序性,那么你需要深入挖掘 - 根据应用程序,你将需要挂钩exe使用的许多函数......

这是一项非常棘手的事情,并且容易出现一些问题 - 权限/权限,防病毒保护......

起点:
http://www.codeproject.com/KB/winsdk/MonitorWindowsFileSystem.aspx
http://msdn.microsoft.com/en-us/windows/hardware/gg462968.aspx