2013-05-29 4 views
0

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.

Répondre

0

J'ai réussi à résoudre le problème. C'est le problème de l'URL et beaucoup d'autres choses. Je ne peux pas écrire les détails ici car c'est une implémentation complexe. Je veux juste m'assurer que personne ne perdra du temps à essayer de répondre à la question.