Upgrading to WebDAV Server Engine .NET v9
The v9 Engine is redesigned to provide G Suite editing capabilities as well as to achieve integration of WebDAV and G Suite features. After upgrading to v9 you can add G Suite editing without significant programming efforts or reprogramming your existing WebDAV implementation.
What Has Changed in v9
v9 Engine interfaces are redesigned to provide common base for building WebDAV and G Suite editing. The new namespace, provided in v9 - ITHit.Server contains interfaces and classes that are common for WebDAV and G Suite Editing, can be found in ITHit.Server module on NuGet. The interfaces specific to G Suite editing are provided in ITHit.GSuite.Server namespace located in ITHit.GSuite.Server module on NuGet.
|V3-v8 Entity||Corresponding V9 Entity|
|Class||-||EngineAsync<THierarchyItem> - provides functionality, common for WebDAV Engine and G Suite Engine.|
|Class||-||ContextBaseAsync<THierarchyItemAsync> - base context class for WebDAV and G Suite contexts.|
|Class||-||GSuiteEngineAsync - Provides editing in Google G Suite online.|
|Class||DavRequest||Replaced with ITHit.Server.RequestAsync
|Class||DavResponse||Replaced with ITHit.Server.ResponseAsync|
|Property||DavRequest.ClientLockTokens||Replaced with GetClientLockTokens() extension method for RequestAsync class. Located in ITHit.WebDAV.Server.Class2 namespace.|
|Interface||ILogger||Moved to ITHit.Server|
|Class||DavEngineAsync||Now inherit from EngineAsync<IHierarchyItemAsync>|
|Interface||IHierarchyItemAsync||Now inherit from IHierarchyItemBaseAsync|
Upgrading Your Server Code
To upgrade your existing WebDAV implementation to v9 follow these steps:
- Update your WebDAV.Server.Engine reference. Typically you will download the latest build from NuGet. Otherwise, in case you are adding a reference to your project from the file system, make sure to add the new ITHit.Server.dll module reference.
- Replace DavRequest.ClientLockTokens property call with GetClientLockTokens() extension method, located in DavRequestExtensions class in ITHit.WebDAV.Server.Class2 namespace:
IList<string> clientLockTokens = context.Request.GetClientLockTokens();
- Add 'using' directive to all files where ILogger interface is used:
using ITHit.Server;such as DavEngineMiddleware.cs/vb, DavEngineCore.cs/vb, DavContext.cs/vb, etc.