DocumentUltimate v4.5.5
Version 4.5.5 - January 22, 2019
-
Improved: Stability and performance for DocumentCache:
-
Optimized cache folder structure so that access is very fast even when it's crowded (e.g. 20.000 files).
This will also vastly improve access times when Amazon S3 or Azure Blob location is used for the cache
(no more unnecessary cache folder listing so fewer requests to cloud storage). The existing cache folder
will be migrated to the new structure automatically when this version first runs. -
Cache folder can now be shared with multiple processes reliably as it will use distributed locking.
Even processes on different machines will be handled via creating lock files within the cache folder.
For example if you use a network share as the cache folder, different instances of the application will
reliably share the cache (no unexpected "cache file not found" errors and ensuring the ongoing caching
is completed only once). -
Automatic cache trimming (clean up of expired items) is now a background task which is run at regular intervals
specified via AutoTrimInterval property (default is 20 minutes). In the older version, it required a trigger
of creating a new cache item. So now auto cache trim is more reliable and efficient. -
Replaced maxDays constructor parameter with MaxAge property which is a TimeSpan so expiration can now be set
also in hours, minutes or seconds and not only in days. -
API changes:
- DocumentCache(Location location, int maxDays ...) -> DocumentCache(Location location)
- DocumentCache.MaxAge -> New Get/Set property (replaces maxDays constructor parameter)
- DocumentCache.WaitTimeout -> New Get/Set property
- DocumentCache.AutoTrimInterval -> New Get/Set property
- DocumentCache.LocationString -> New Get property
- DocumentCache.LocationId -> New Get property
- DocumentUltimateWebConfiguration.CacheMaxDays -> DocumentUltimateWebConfiguration.CacheMaxAge
- DocumentUltimateWebConfiguration.CacheWaitTimeout -> New Get/Set property
- DocumentUltimateWebConfiguration.CacheAutoTrimInterval -> New Get/Set property
- DocumentUltimateWebConfiguration.EncryptionEnabled -> DocumentUltimateWebConfiguration.CacheEncryptionEnabled
-
Included example projects:
- ASP.NET WebForms (C#)
- ASP.NET WebForms (VB)
- ASP.NET MVC (C#)
- ASP.NET MVC (VB)
- ASP.NET Core (C#)