IMemoryCache has its issues, notably it has the following method which is not thread safe. LazyCache is designed to address this very problem.
For caching previously I used IDistributedCache, but I have since switched to IMemoryCache. I have also abstracted this implementation detail away behind a new ICacheProvider interface.
Preview3 brings an architecture that allows you to extend Fanray by creating Plugins, Widgets and Themes in a clean and maintainable way. This new extensibility will keep the system core from being bloated and let others build their own features and applications easily.
Thus far I have a single service in Fan.Blog that handles everything, it's called BlogService. As my code grows this becomes less maintainable, with each new feature I want to add to the blog I have to pile on top of this class, not to mention it's less than ideal if there are others working on the same project and everyone modifies one file. So I wanted to break this giant service class into smaller more focused services.
Fanray 1.0.0 is out! It took me three and half months to go from the initial commit to the v1 release today. I’m right on track to achieve what I started out to do, learning in the open, building something I can use everyday, and sharing all aspects of this process with the community.