Folder Content Invalidation Mode
Functionality described in this article is supported in User File System 8.2 and later versions.
In this article we describe how you can run the User File System with a remote storage that does not support any push notifications as well as with pooling mode being disabled. In this mode you can use Refresh button in Windows Explorer to update folder content.
This mode has following limitations:
- Incoming synchronization must be disabled. You can not use Sync ID algorithm or any other sync mode except Disabled.
- This mode is supported on Windows platform only. It is NOT supported on macOS.
- Pinned folders are not supported. You can not use the "Always keep on this device" menu in Windows Explorer on folders. You can still use it on files though.
If your server does not support any push synchronization and you wish to avoid pooling, you can set your file system to invalidate folder content after each listing as soon as specified timeout expires:
engine.FolderInvalidationIntervalMs = 2000; engine.SyncService.IncomingSyncMode = IncomingSyncMode.Disabled;
When the timeout specified by EngineWindows.FolderInvalidationIntervalMs expires, and any application or platform lists folder content, the Engine calls the IFolder.GetChildrenAsync(). In this method you will return a new folder content to the Engine. The Engine will compare the returned content with existing content in this folder and will add, update and delete items. The Engine updates items based on content eTag and metadata eTag set on items returned from IFolder.GetChildrenAsync() method. See Detecting Content & Metadata Changes article for how content and metadata eTags work.