PUT流0字节

时间:2014-07-08 23:10:10

标签: file-upload webdav ithit-webdav-server

我正在使用Windows资源管理器来测试我正在适应我们系统的WebDAV实现。该实现使用IIS Express并由Visual Studio 2013启动。我使用WebDAV关闭了Windows资源管理器对SSL的要求,因此我可以测试基本身份验证(可以正常运行)。

我遇到的问题是使用DavFile实现的Write方法。我连接到Web文件夹,导航到子文件夹,然后尝试将JPG文件从我计算机硬盘上的文件夹复制到WebDAV子文件夹(使用Windows资源管理器)。

尝试复制文件(854kb)失败。当我设置一个断点时,我注意到"段" stream(" write"方法的输入参数之一,显示0(零)字节长度。

有关如何调试此问题的任何提示?流中0字节最可能的原因是什么?

1 个答案:

答案 0 :(得分:0)

以下是关于如何理解出错的一些想法:

  1. 检查服务器日志中的异常。默认情况下,它被称为WebDAVLog.txt,位于\ App_Data \ WebDAV \ Logs \文件夹中。它有什么例外吗?检查您的服务器日志,确保所有请求都成功。

  2. 使用Fiddler工具或任何其他调试代理检查WebDAV请求。虽然记录了到达WebDAV服务器引擎的所有请求,但如果请求在命中引擎之前失败,您将无法在日志中看到它。通常,如果请求在身份验证阶段失败,就会发生这种情况。

    请注意,要在' localhost'上使用Fiddler捕获请求你必须使用' localhost.fiddler'而不是' localhost'连接到服务器时,例如:http://localhost.fiddler:1234

  3. 排除任何客户端问题。最后,您使用的客户端软件可能存在问题,包括Microsoft miniredirector。尝试从任何其他计算机访问服务器。要了解问题是否在客户端或服务器端,请尝试在ajaxbrowser.com上重现该问题。

  4. 您可以在此处发布WebDAVLog.txt或fiddler日志的一部分或将其发送给IT Hit,它可能会给出错误的概念。