CacheAdapter 3.2 Released

I am pleased to announce that my 'Glav.CacheAdapter' package has recently been updated to 3.2 (we skipped 3.1 for a few reasons).

Note: For those not familiar with what this package does, you can look at previous posts on the subject hereherehereherehere and here

Full source code can be downloaded from here.

There are a bunch of bugs and issues addressed in this release, primarily related to user feedback and issues raised on the issue register here.

Important note on package structure

One of the issues relates to how the CacheAdapter is now packaged. Previous version were packaged as a single Glav.CacheAdapter package on nuget. This package contained a readme.txt and example code which was also included when you installed or updated the package. On larger projects where this package may been installed into multiple projects, updating all those packages meant that each project would get the readme.txt and example code added to the project. This was a pain as it meant you usually had to manually delete these from all the projects.

Now the single package has been broken into 2 separate packages:

  • Glav.CacheAdapter.Core: Contains just the Glav.CacheAdapter assembly and references to dependent packages.
  • Glav.CacheAdapter: Contains a reference to Glav.CacheAdapter.Core and also contains the readme.txt, example code and app/web.config additions.

This now means you can install Glav.CacheAdapter package and get the included configuration changes, example code, readme.txt etc but when updating the functionality to a latest release, you only need to update Glav.CacheAdapter.Core which means no project additions or config changes are made, just an assembly update. Much nicer for larger solutions with multiple project references.

Other changes in this release

  • Support for SecurityMode.None setting for Appfabric caching (Issue #20)
    <add key="Cache.CacheSpecificData" value="SecurityMode=None"/>
  • Support for LocalCaching configuration values (Issue #21)
    For local caching support, you can specify the following in the cache specific data:
    <add key="Cache.CacheSpecificData" value="LocalCache.IsEnabled=true;LocalCache.DefaultTimeout=300;LocalCache.ObjectCount;LocalCache.InvalidationPolicy={TimeoutBased|NotificationBased}"/>

        Note: DefaultTimeout value specifies amount of time in seconds.

  • Support for programmatically setting the configuration and initialising the cache. (Issue #19)
  • The CacheConfig object is easily accessible via
    //If you want to programmatically alter the configured values for the cache, you can
    // use the commented section below as an example
    CacheConfig config = new CacheConfig();
    config.CacheToUse = CacheTypes.MemoryCache;
    AppServices.SetConfig(config);
    // Alternatively, you can use the commented method below to set the logging implementation,
    // configuration settings, and resolver to use when determining the ICacheProvider
    // implementation.
    AppServices.PreStartInitialise(null, config);
  • Splitting Glav.CacheAdapter package into 2 packages - Glav.CacheAdapter.Core & Glav.CacheAdapter.  (Issue #13)
    Details listed above
  • Merged in changes from Darren Boon's cache optimisation to ensure data only added to cache when its enabled and non null. Involved some code cleanup as this branch had been partially merged prior.
  • Merged changes from https://bitbucket.org/c0dem0nkee/cacheadapter/branch/default to destroy cache when using local cache on calling ClearAll() method.

As usual, if you have, or have found, any issues please report them on the issue register here.

2 Comments

  • Thanks for the update package, One of the issues relates to how the CacheAdapter is now packaged. Previous version were packaged as a single Glav.CacheAdapter package on nuget. This package contained a readme.txt and example code which was also included when you installed or updated the package.

  • What is the differences between this version and version 3.0?
    Merged in changes from Darren Boon's cache optimisation to ensure data only added to cache when its enabled and non null. Involved some code cleanup as this branch had been partially merged prior.
    Thanks for the release

Add a Comment

As it will appear on the website

Not displayed

Your website