Ich möchte einen WebDAV-Server in ASP.Net implementieren. Die App wird auf IIS 6 bereitgestellt. Ich habe einige Frameworks gesehen, die diese Funktionalität bieten, aber ich kann nicht erkennen, wie sie das erreichen können, ohne (scheinbar) die IIS-Einstellungen zu ändern.
Meine spezifische Frage ist, wie konfiguriere ich IIS und ASP.Net, so dass ein IHttpModule / IHttpHandler eine Gelegenheit haben kann, mit einem der zusätzlichen WebDAV-Verben (d. h. LOCK, OPTIONS, PROFIND, etc.)
Es gibt keine Möglichkeit, WebDAV-Verben in IIS 6 zu konfigurieren, ohne die IIS-Einstellungen zu ändern. Dies ist nur mit IIS 7 und höher möglich.
Um alle von WebDAV in IIS 6 benötigten Verben zu behandeln, müssen Sie eine Anwendungs-Wildacrd-Map erstellen. Klicken Sie mit der rechten Maustaste auf Ihre Webanwendung in der IIS 6 MMC-Konsole und gehen Sie zu Eigenschaften - & gt; Virtuelles Verzeichnis Tab- & gt; Konfiguration . Klicken Sie auf Einfügen , um eine neue Platzhalterkarte hinzuzufügen.
Auf Basisverzeichnis Registerkarte Ihrer Anwendungseigenschaften festlegen Berechtigungen ausführen auf Nur Skripts und Lesevorgänge zulassen.
Hier ist das Beispiel web.config: Ссылка
Beachten Sie, dass dieses web.config-Beispiel speziell mit ASP.NET 2.0 auf IIS 6 auf Server 2003 und IIS 5.1 auf XP erstellt und getestet wurde. Es verarbeitet nicht & amp;,%, + und nachfolgende Punkte (.).
ASP.NET 4.x bietet die Möglichkeit, alle Sonderzeichen in Ihrem WebDAV-Server web.config zu konfigurieren >, einschließlich & amp ;,% und '.'. Die Datei web.config, die die IIS-Versionen 6-8 unterstützt, wird vom IT-Treffer-Assistenten für WebDAV-Server-Engines generiert.
Ich würde mir dieses Projekt Ссылка für eine Webdav-Implementierung in C # ansehen. Wenn Sie Ihr eigenes bauen müssen, ist es nett, auf ein vollendetes zu verweisen; noch besser, wenn Sie es wiederverwenden können.
Ja, Sie müssen IIS6-Einstellungen ändern, um das Binden des ISAPI-Moduls für .NET an alle Anforderungstypen zu unterstützen und nicht zu prüfen, ob eine Datei vorhanden ist. Es gibt keine andere Möglichkeit, dies auf IIS6 zu tun, weil Web-Dev-Clients in Windows eine OPTIONS-Anfrage auf dem Stammverzeichnis (/) der Website ausführen, wenn sie nach der Unterstützung von webdav suchen.
II7 gibt Ihnen mehr Optionen ...