在程序写入文件期间不情愿地同步网络文件夹

Tha*_*lia 5 networking windows-registry windows-7 sync filesystems

我正在尝试编写一个执行一些读取/处理/写入的程序。

虽然当我给我的程序一个本地路径时一切正常,但我面临一个不寻常的问题:当我通过局域网处理文件时会占用大量内存。

如果文件路径类似于“ //network_address/folder/*.ext”,则程序使用大约 4G RAM(当路径类似于“ c:/folder/*.ext”时,则为 500 - 1G )

我使用 Process Monitor 来查看发生了什么,并注意到“ c:\windows\csc\v2.0.6\namespace”文件夹中的一致读取失败- 我什至不知道存在该文件夹。研究它,我发现它被用来与网络服务器同步文件,也许是离线查看网络文件。

上述失败发生在写入文件进程开始之前(而不是在读取之前),没有使用命名空间文件夹,我没有同步任何内容,并且对网络驱动器的实际写入成功。

我还没有设置任何同步文件夹的选项......(我不想)

一旦我获得了该文件夹的所有权,内存使用量就下降了(尽管我仍然在 Process Monitor 中遇到读取错误)。

所以......我认为我的问题是我一直在尝试做一些我不允许做的事情,并且在尝试做我不允许做的事情时使用了大量内存来保存数据,直到我失败并最终将它所属的数据...

解决办法:避免做我不允许做的事情,对吧?

有没有一种方法(最好是我可以在我的代码中运行的命令行,或者我可以修改的注册表项)可以防止我的程序同步文件(如果正在发生的话)或在读取时使用该命名空间文件夹网络驱动器?

如何防止 Windows 在我背后同步文件,而只是将文件直接写入网络文件夹?

小智 1

您弄清楚了吗?\n尝试禁用共享内的脱机文件:

\n\n
    \n
  1. 右键单击共享
  2. \n
  3. 转到共享选项卡
  4. \n
  5. 单击高级共享按钮
  6. \n
  7. 单击缓存按钮
  8. \n
  9. 选择 \xe2\x80\x9c 共享文件夹中的文件或程序不可用\n脱机。\xe2\x80\x9d
  10. \n
  11. 单击“确定”关闭“离线设置”弹出窗口
  12. \n
  13. 单击“确定”关闭“高级共享”弹出窗口
  14. \n
  15. 单击“关闭”关闭您的 share\xe2\x80\x99s 属性框
  16. \n
\n\n

您可以从客户端 PC 尝试的另一件事是禁用脱机文件服务(如果是 Win7/Vista)。

\n\n

让我们知道结果如何。

\n