The Portable WebDAV Library is a strongly typed, async WebDAV client library which is fully compliant to RFC 4918, RFC 4331, Additional WebDAV Collection Properties and a some WebDAV properties specific to IIS WebDAV. It is implemented as .NETStandard 1.1 library in oder to be used on any platform supporting .NETStandard 1.1.
Main project aims
- Full compliance to RFC 4918 (HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)), RFC 4331 (Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections) and Additional WebDAV Collection Properties
- Portability: The library can be used in any project targeting .NETStandard 1.1
- Level of abstraction: There is a low level of abstraction (class WebDavClient) which supports all WebDAV operations directly. This is recommended for users who are familiar with the RFC 4918 specification. A higher level of abstraction is also provided (class WebDavSession) that hides most of the WebDAV specific operations and provides an easy access to WebDAV Servers
- Fast and fluid: All operations which might last longer are implemented as asynchronous methods
- WebDAV object model: Object model that represents all WebDAV artifacts used in WebDAV communication (as XML request/response content). No need to build own request XML content strings or parsing the contents of a response of a WebDAV server
- Full HTTP/2 support
So far the project is tested against IIS and ownCloud/Nextcloud (sabre/dav) (note that WebDAV locking is only working with ownCloud 8 or earlier releases as with ownCloud 9 WebDAV locking is not supported anymore).
Obtaining the library
- There is a NuGet package available: Just search for 'PortableWebDavLibrary' in the 'Manage NuGet Packages...' window in Visual Studio. You can also find the package here.
- If you prefer the manual installation method, you can find the current release as ZIP file on the GitHub release page.
There is a full documentation of the library with some example code available.
For offline use, you can download the help file (CHM) here: Portable WebDAV Library offline documentation
When there will be some considerable/breaking changes in a future version of the library, a preview version is released on MyGet before releasing the final version on NuGet. This way, projects using the Portable WebDAV Library can test beta versions before a new version is released officially.