We have news page which contains three blocks and all these make use of GetContentResult() result to display content, so how can we avoid multiple call to GetContentResult() and store the copy of it and use it for all blocks. And whenever editor adds new article to it the result should be updated again.
Can you please guide how can we avoid multiple calls to GetContentResult()?
You can use object caching.
I'm not too sure about your use case, however GetcontentResult by default cache for 60 seconds, and not cached for editor and admin. You can increase cache duration by passing custom value into the method ( see GetContentResult method signature below) . When you have new article published, it should flush the cache as well.
IContentResult<TContentData> GetContentResult<TContentData>(this ITypeSearch<TContentData> search, int cacheForSeconds = -1, bool cacheForEditorsAndAdmins = false)