我们已经使用您的引擎构建了 WebDav 服务,当我们创建新文件夹或文件时遇到一个问题:新文件夹/文件已成功创建,但未显示在 Windows 资源管理器中。仅当您按 F5 时,才会显示新文件夹/文件(并且名称已被选中以进行编辑)。即使使用空白的 WebDav 解决方案,此行为也是可重现的。我们可以使用 WebDav .NET Server 3.8 和最新的 3.9 在 Windows 7 和 Windows 8 (8.1) 上重现这一点。
有没有办法解决这个“刷新问题”?
我们已经使用您的引擎构建了 WebDav 服务,当我们创建新文件夹或文件时遇到一个问题:新文件夹/文件已成功创建,但未显示在 Windows 资源管理器中。仅当您按 F5 时,才会显示新文件夹/文件(并且名称已被选中以进行编辑)。即使使用空白的 WebDav 解决方案,此行为也是可重现的。我们可以使用 WebDav .NET Server 3.8 和最新的 3.9 在 Windows 7 和 Windows 8 (8.1) 上重现这一点。
有没有办法解决这个“刷新问题”?
我认为这个问题是在单台计算机上的 Windows 资源管理器中。WebDAV 服务器端代码很可能因某些异常而失败。以下是一些如何检测错误的想法:
在命令提示符下执行“net use * /DELETE”卸载网络连接,这也将卸载 WebDAV 连接并模拟“干净”环境。
重试重现问题并检查您的 WebDAV 日志文件。默认情况下,它位于 /App_Data/WebDAV/Logs/ 文件夹中。里面有什么例外吗?
使用 Fiddler 工具或任何其他调试代理来捕获和检查 HTTP 请求。是否有任何失败的请求?
如果您使用 Windows 资源管理器(Microsoft Mini-redirector 驱动程序)或 IT Hit Ajax 文件浏览器在一台计算机上创建文件夹/文件,并希望文件列表在另一台计算机上自动刷新,这将不起作用。Mini-redirector 不支持来自服务器的任何通知,WebDAV 不提交任何通知,您需要手动刷新文件列表才能看到创建的新项目。
我在 Youtube 上找到了这个视频,它非常详细地解释了如何解决这个问题:https ://www.youtube.com/watch?v=UUiCPsQquqc
有点冗长,所以我将在这里快速总结一下:
根据视频,密钥应该只位于 HKEY_CLASSES_ROOT/CLSID 下,但在我的情况下,我只能在 HKEY_LOCAL_MACHINE/Classes/Wow6432Node/CLSID 中找到此类密钥。
我认为简单地搜索完整的注册表是最有意义的,它不会花费很长时间。
我解决了这个问题,但是在视图>选项>中单击文件夹资源管理器,然后我恢复为默认值,一切都恢复正常。