0

我们已经使用您的引擎构建了 WebDav 服务,当我们创建新文件夹或文件时遇到一个问题:新文件夹/文件已成功创建,但未显示在 Windows 资源管理器中。仅当您按 F5 时,才会显示新文件夹/文件(并且名称已被选中以进行编辑)。即使使用空白的 WebDav 解决方案,此行为也是可重现的。我们可以使用 WebDav .NET Server 3.8 和最新的 3.9 在 Windows 7 和 Windows 8 (8.1) 上重现这一点。

有没有办法解决这个“刷新问题”?

4

3 回答 3

0

我认为这个问题是在单台计算机上的 Windows 资源管理器中。WebDAV 服务器端代码很可能因某些异常而失败。以下是一些如何检测错误的想法:

  1. 在命令提示符下执行“net use * /DELETE”卸载网络连接,这也将卸载 WebDAV 连接并模拟“干净”环境。

  2. 重试重现问题并检查您的 WebDAV 日志文件。默认情况下,它位于 /App_Data/WebDAV/Logs/ 文件夹中。里面有什么例外吗?

  3. 使用 Fiddler 工具或任何其他调试代理来捕获和检查 HTTP 请求。是否有任何失败的请求?

如果您使用 Windows 资源管理器(Microsoft Mini-redirector 驱动程序)或 IT Hit Ajax 文件浏览器在一台计算机上创建文件夹/文件,并希望文件列表在另一台计算机上自动刷新,这将不起作用。Mini-redirector 不支持来自服务器的任何通知,WebDAV 不提交任何通知,您需要手动刷新文件列表才能看到创建的新项目。

于 2014-11-17T21:26:46.223 回答
0

我在 Youtube 上找到了这个视频,它非常详细地解释了如何解决这个问题:https ://www.youtube.com/watch?v=UUiCPsQquqc

有点冗长,所以我将在这里快速总结一下:

  • 这些问题的原因是一个或多个(损坏的)Shell 扩展阻止了 Windows 资源管理器的刷新
  • 要修复它,请打开 regedit.exe(需要管理员权限),搜索注册表项“DontRefresh”。如果为“1”,则设置为“0”。该键可能有多个匹配项,因此重复直到所有键的值都为“0”。
  • 这可能不会立即起作用,您可能必须终止并重新启动 explorer.exe 进程(最容易使用任务管理器)。或者您可以简单地重新启动计算机。就我而言,它立即起作用。

根据视频,密钥应该只位于 HKEY_CLASSES_ROOT/CLSID 下,但在我的情况下,我只能在 HKEY_LOCAL_MACHINE/Classes/Wow6432Node/CLSID 中找到此类密钥。

我认为简单地搜索完整的注册表是最有意义的,它不会花费很长时间。

于 2015-03-14T10:49:13.183 回答
0

我解决了这个问题,但是在视图>选项>中单击文件夹资源管理器,然后我恢复为默认值,一切都恢复正常。

于 2020-11-27T07:31:40.773 回答