public override async Task PublishedAsync(PublishContentContext context, AutoroutePart part) { if (!String.IsNullOrWhiteSpace(part.Path)) { if (part.RouteContainedItems) { _contentManager ??= _serviceProvider.GetRequiredService <IContentManager>(); var containedAspect = await _contentManager.PopulateAspectAsync <ContainedContentItemsAspect>(context.PublishingItem); await CheckContainedHomeRouteAsync(part.ContentItem.ContentItemId, containedAspect, context.PublishingItem.Content); } // Update entries from the index table after the session is committed. await _entries.UpdateEntriesAsync(); } if (!String.IsNullOrWhiteSpace(part.Path) && !part.Disabled && part.SetHomepage) { await SetHomeRouteAsync(part, homeRoute => { homeRoute[_options.ContentItemIdKey] = context.ContentItem.ContentItemId; homeRoute[_options.JsonPathKey] = ""; }); } // Evict any dependent item from cache await RemoveTagAsync(part); }