1

我正在试用http://www.webdavsystem.com/ .Net WebDav 服务器,但在直接编辑 Word 文件时遇到问题,该文件始终以只读模式打开。(用Visio测试,Excel同样问题)

我已经尝试了页面http://www.webdavsystem.com/server/prev/v2/documentation/ms_office_read_only中提到的几件事

这是结果

  • 是:在服务器站点根目录上配置了我的 WebDAV。
  • 是:我的 WebDAV 支持 Class 2。(使用内置向导生成项目)
  • 否:我没有打开网络超链接文件,我从 M:\Folder\File.doc 作为映射驱动器打开
  • 是:我已清除注册表中的 Microsoft Office WebDAV 缓存。
  • 是:我已排除客户端 MS Office 问题。通过使用 www.ajaxfilebrowser.com 进行测试,可以完美运行。

我不能通过网页上的建议做的两件事是

  1. 我已经在 Web.config 文件中启用了 Log 标志,并在此处附加了 http://www.sendspace.com/file/fp3yrz,因为我不太了解 Log 语法。
  2. 此外,我不太了解尝试使用 Fiddle(使用 Fiddler 工具检查 WebDAV 请求)并且我的服务器配置为使用标准 HTTP 上的摘要式身份验证,它似乎工作 - 驱动器映射没有问题。

我的环境:VS2012 Ultimate 在 Win7 Ultimate 6GB Ram 上运行(也充当客户端 PC),服务器:Winserver 2012 Std,2GBRam

4

2 回答 2

1

LOCK 请求应该成功以打开 Office 文档进行编辑(非只读)。这将确保文档不会被两个或更多人同时编辑。但是在您的日志文件中,我可以看到 5 个 LOCK 请求,其中 4 个失败(减少):

[7] [LOCK] /685/test_D47H.doc
User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601
Timeout: Second-3600

[7] <?xml version="1.0" encoding="utf-8" ?><D:lockinfo xmlns:D="DAV:"><D:lockscope><D:exclusive/></D:lockscope><D:locktype><D:write/></D:locktype><D:owner><D:href>admin</D:href></D:owner></D:lockinfo>

[7] HTTP/1.1 403 Forbidden
X-Env-Version : 4.0.30319.17929 32bit
X-OS-Version : Microsoft Windows NT 6.2.9200.0
X-IIS-Version : Microsoft-IIS/8.0
X-Worker-Request : System.Web.Hosting.IIS7WorkerRequest
X-Engine : IT Hit WebDAV Server .Net v3.1.869.0 (Evaluation License)

[7] <?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:">
 <d:need-privileges>
  <d:responsedescription>Not enough privileges</d:responsedescription>
   <d:resource>
    <d:href>http://webdrive.test.com/685/test_D47H.doc</d:href>
    <d:privilege>
     <d:write />
    </d:privilege>
   </d:resource>
  </d:need-privileges>
</d:error>

“没有足够的权限” - 这意味着在尝试为文件 /685/test_D47H.doc 创建备用流时会引发 UnauthorizedAccessException。并且 LOCK 请求是更改此文件的唯一尝试(所有其他请求只是读取其属性)。

但稍后您将创建文件 /685/test_D47H%20-%20Copy.doc 并且所有更改请求都成功(如 PUT、PROPPATCH、UNLO​​CK)。

这意味着文件 /685/test_D47H.doc 是写保护的,而任何新创建的文件都不是。

于 2013-06-05T08:34:15.557 回答
1

我检查了你的日志,看起来不错,我没有发现任何问题。

Microsoft Mini-redirector 许多缓存身份验证信息。以下是您可以尝试的其他方法:

  1. 使用 net use * /DELETE 命令(或其变体)卸载 WebDAV 文件夹。
  2. 使用以下命令清除已保存的登录信息:

    rundll32.exe keymgr.dll、KRShowKeyMgr

于 2013-06-04T06:27:10.200 回答