diff --git a/LearningHub.Nhs.WebUI/Controllers/ResourceController.cs b/LearningHub.Nhs.WebUI/Controllers/ResourceController.cs index a68c74c4d..7775ec6cd 100644 --- a/LearningHub.Nhs.WebUI/Controllers/ResourceController.cs +++ b/LearningHub.Nhs.WebUI/Controllers/ResourceController.cs @@ -437,12 +437,13 @@ public async Task UnpublishConfirm(ResourceUnpublishConfirmViewMo /// View HTML resource content. /// /// Resource reference id. + /// Resource version id. /// Html resource content relative path. /// The file content. [HttpGet] [Authorize] - [Route("resource/html/{resourceReferenceId}/{*path}")] - public async Task HtmlResourceContent(int resourceReferenceId, string path) + [Route("resource/html/{resourceReferenceId}/{CurrentResourceVersionId}/{*path}")] + public async Task HtmlResourceContent(int resourceReferenceId, int currentResourceVersionId, string path) { if (resourceReferenceId == 0 || string.IsNullOrWhiteSpace(path)) { @@ -452,8 +453,14 @@ public async Task HtmlResourceContent(int resourceReferenceId, st var userId = this.User.Identity.GetCurrentUserId(); var cacheKey = $"HtmlContent:{userId}:{resourceReferenceId}"; var (cacheExists, cacheValue) = await this.cacheService.TryGetAsync(cacheKey); + var oldresourceVersionId = 0; + if (cacheExists) + { + var cachesplits = cacheValue.Split(":"); + oldresourceVersionId = int.Parse(cachesplits[0]); + } - if (!cacheExists) + if (!cacheExists || (oldresourceVersionId != currentResourceVersionId)) { var resource = await this.resourceService.GetItemByIdAsync(resourceReferenceId); diff --git a/LearningHub.Nhs.WebUI/Views/Resource/_ResourceItem.cshtml b/LearningHub.Nhs.WebUI/Views/Resource/_ResourceItem.cshtml index 08e6b3e42..0913435ff 100644 --- a/LearningHub.Nhs.WebUI/Views/Resource/_ResourceItem.cshtml +++ b/LearningHub.Nhs.WebUI/Views/Resource/_ResourceItem.cshtml @@ -112,7 +112,7 @@ {