【问题标题】:using Webdav .Net Engine from ITHits for direct edit MS Office File使用 ITHits 的 Webdav .Net 引擎直接编辑 MS Office 文件
【发布时间】:2013-05-29 10:20:03
【问题描述】:

我正在试用 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 文件中启用了日志标志并附在此处 http://www.sendspace.com/file/fp3yrz 因为我不太明白 日志语法很多。
  2. 另外我知道的还不够多,无法尝试使用 Fiddle(检查 WebDAV 使用 Fiddler 工具请求)并且我的服务器配置为使用 通过标准 HTTP 进行摘要式身份验证,它似乎有效 - 驱动器 映射没有问题。

我的环境:VS2012 Ultimate 运行在 Win7 Ultimate 6GB Ram(也可作为客户端电脑)上,服务器:Winserver 2012 Std,2GBRam

【问题讨论】:

  • 他们鼓励在 SO 上提问,我认为他们的想法是保留在这个网站上,这样它也可以帮助其他人。
  • Eric,您能否说明一下您的 Microsoft Office 版本是什么?

标签: webdav ithit-webdav-server


【解决方案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 受写保护,而任何新创建的文件都没有。

【讨论】:

    【解决方案2】:

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

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

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

      rundll32.exe keymgr.dll, KRShowKeyMgr

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多