2013-06-03 71 views
1

我在試用http://www.webdavsystem.com/ .Net WebDav服務器和在直接編輯Word文件時總是以只讀模式打開的問題。使用來自ITHits的Webdav .Net引擎進行直接編輯MS Office文件

我已經試過幾件事情在頁面http://www.webdavsystem.com/server/prev/v2/documentation/ms_office_read_only

這裏要注意(使用Visio,Excel中同樣的問題測試)的結果

  • 是:在服務器站點根目錄配置我的WebDAV。
  • 是:我的WebDAV支持2級(使用內置嚮導生成項目)
  • 否:我沒有打開網絡超鏈接文件,我從M:\ Folder \ File.doc打開爲Mapped Drive
  • 是的:我清除了註冊表中的Microsoft Office WebDAV緩存。
  • 是:我排除了客戶端MS Office問題。通過與 www.ajaxfilebrowser.com進行測試,完美地工作。

兩件事情我真的不能被建議在網頁上做的是

  1. 我已經能夠在Web.config文件登錄標誌,在這裏 http://www.sendspace.com/file/fp3yrz連接,因爲我真的不能明白 記錄語法很多。
  2. 此外,我不知道很多足夠的嘗試與小提琴(檢查的WebDAV請求 用Fiddler工具)和我的服務器配置了標準的HTTP使用 摘要式身份驗證,它似乎工作 - 推動 映射沒有問題。

我的環境:VS2012終極跑Win7旗艦版6GB內存(也作爲一個客戶端PC),服務器:Winserver 2012標準,2GBRam

+1

他們鼓勵提問,我認爲他們的想法是保持在這個網站上,以便它也可以幫助其他人。 –

+0

埃裏克,你能否澄清一下你的微軟Office版本? –

回答

1

我檢查你的日誌,它看起來不錯,我沒發現任何問題。

Microsoft Mini-redirector許多緩存身份驗證信息。以下是您可以嘗試的其他內容:

  1. 使用net use */DELETE命令(或其變體)卸載WebDAV文件夾。
  2. 清除保存使用以下命令登錄:

    RUNDLL32.EXE keymgr.dll KRShowKeyMgr,

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> 

「沒有足夠的權限」 - 這試圖以創建一個備用流時指UnauthorizedAccessException拋出文件/685/test_D47H.doc。而LOCK請求是唯一一次嘗試更改此文件(所有其他請求只是讀取其屬性)。

但後來你所創建的文件/685/test_D47H%20-%20Copy.doc和所有的變化請求成功(如PUT,PROPPATCH,UNLOCK)。

這意味着該文件/685/test_D47H.doc帶有寫保護,任何新創建的文件 - 不是。

相關問題