Skip to content

DocumentUltimate v4.5.5

Compare
Choose a tag to compare
@GleamTech GleamTech released this 22 Jan 16:10
· 87 commits to master since this release

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#)