Answers:
我遇到了完全相同的问题,但是使用了Samba 4导出和Windows 7客户端。绝对是客户端错误。经过一番彻底的故障排除后,我只添加了注册表项,并且一旦按了F5按钮,它就像一个超级按钮一样起作用。
只需添加此注册表项:
DirectoryCacheLifetime [DWORD] = 0
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Lanmanworkstation \ Parameters
本文中提到的值似乎无效,因为这些注册表值不再存在。我相信缓存的默认到期时间是10分钟而不是10秒。http://technet.microsoft.com/zh-cn/library/ff686200%28v=ws.10%29.aspx
更新(20/04/2015)
如果您有兴趣在服务器端应用此功能而不需要配置客户端,则必须在smb.conf的[global]部分中添加以下行:
服务器最大协议= SMB2_02
这会将服务器限制为协议SMB2,而不是Samba 4随附的默认SMB3,但会影响传输速度。我认为协议SMB2_02是SMB2的早期版本,不支持缓存,因此在这种情况下应该可以使用。
但是,我注意到一些客户端仍然遇到缓存问题,因此必须如上所述手动更改注册表。
不幸的是,关于各种SMB协议版本的文档很少。这是smb.conf的手册页对此内容的说明:
参考:https : //www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#SERVERMAXPROTOCOL
我有同样的问题,我将发表我所读的内容。我还没有尝试过。
您需要添加一些注册表项,以强制SMB2.0更快地刷新屏幕。这是关键:
与往常一样,编辑注册表需要您自担风险
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Lanmanworkstation \ Parameters
1.Directory cache,通过将“ DirectoryCacheLifetime”设置为ZERO。
2.将“ FileNotFoundCacheLifetime”设置为“零”,以找到“文件未找到”缓存。
3.通过将“ FileInfoCacheLifetime”设置为“零”来缓存文件信息。
添加这些条目后,重新启动机器,然后重试。我对在查看网络共享时遇到问题的任何客户端计算机执行了此操作。我没有对文件服务器本身执行此操作。
我创建了一个新的Dword:HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Lanmanworkstation \ Parameters \ DirectoryCacheLifetime并设置为0
重新启动后对我有用。