This week has been exhausting for our brains and servers, MvcDonutCaching has been put under heavy load and testing. This release is still tagged under the 1.2.x branch but brings new features and one bug fix.
The bug fix is related to Linq usage inside the OutputCacheManager, a faulty Enumerable OutputCache provider could return null keys at some point, triggering NullReferenceExceptions, a behavior we never encountered with the bundled and default used MemoryCacheProvider.
I’m introducing a new flags based option system to fine tune output caching.
Developers are now able to change the way cache keys are generated : ignore query string parameters, ignore post data.
On the pipeline side, you can decide that all POST requests to an action will never be served from cache but still can cache result for further non POST requests.
ReSharper users will be happy to see that code annotations have made their way into the code, HtmlHelper extensions and the OutputCacheManager class are taking profit of it for MVC action/controller name completion and error checking.
Development has been sponsored by my employer, AM-Créations (http://www.am-creations.fr
), who gave dev and testing time.