Je crée un protocole WebDAV de support de service à partir de rien en utilisant ASP.NET WebAPI. La première étape consiste à répondre à la requête OPTIONS du client WebDAV (j'ai utilisé MS Office 2010 dans ce cas). Une fois cette requête reçue, mon service retournera ces informations (capturées par Fiddle 2). Le service est exécuté sous le serveur IIS.Création d'un serveur WebDAV
Le service MS Office permet d'ouvrir le fichier à l'adresse suivante: https://fileservice.domain.com/api/OfficeClient?dir=C: \ Test \ WebApi.docx
HTTP/1.1 200 OK
Allow: COPY,DELETE,GET,HEAD,LOCK,MOVE,OPTIONS,POST,PROPFIND,PROPPATCH,PUT,REPORT,UNLOCK
Content-Length: 0
Accept-Ranges: bytes
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers: Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control
Access-Control-Max-Age: 2147483647
DAV: 1
Public: COPY, DELETE, GET, HEAD, LOCK, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, UNLOCK
MS-Author-Via: DAV
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 29 May 2013 04:36:19 GMT
Le problème est que, MS Office continué à envoyer 5 même demande OPTIONS. La prochaine requête qu'il est censé envoyer devrait être HEAD, puis une série d'autres méthodes pour ouvrir un document. Je jette un oeil à: mise en œuvre. Et essayez également d'exécuter la démo de http://www.webdavsystem.com/server/ et regardez le violon. Mais je ne peux pas trouver de différences dans mon exemple et la démo en ligne.