FeaturesViewEngine with caching

微信扫一扫,分享到朋友圈

FeaturesViewEngine with caching

Last December I have published a library – FeaturesViewEngine which enables feature folder support. It had one drawback – it did not use caching. Now I have released a new version with caching enabled.

Short release info

Thanks to my colleague’s – Kaspars Ozols
suggestions, I have made changes to the FeaturesViewEngine
.The blog post about its configuration is still up to date, and there are no breaking changes. The changes improve view resolution performance.

You can install the new version from NuGet:

Install-Package FeaturesViewEngine -Version 1.1.0

You can find the source code on GitHub
.

Some technical stuff

Previously, I overrode a CreateView
method of the base RazorViewEngine
. When a cache was enabled, the CreateView
method was called only once for a particular view name. As controllers can have similar view names, it always resolved the first view. The cache didn’t use controller data for cache key – only view name. So cache had to be disabled.

In the latest version, I overrode a FindView
(and FindPartialView
) method instead. This method is always called and uses caching internally. I also had to pass the full virtual path to the base method. For that, I had to check for the first existing view matching particular controller and view location format. Once the view’s full path is resolved, it is cached.

微信扫一扫,分享到朋友圈

FeaturesViewEngine with caching

Best Boost Mobile deals

上一篇

Just What Is Tencent Up To With Streaming?

下一篇

你也可能喜欢

FeaturesViewEngine with caching

长按储存图像,分享给朋友