Я столкнулся с проблемой, когда мне нужно вручную нажать кнопку очистки кеша, чтобы определенный продукт правильно отображался на определенной странице после его сохранения.
Мне интересно, как я могу сделать это с помощью кода, но очистить кеш только для этого продукта.
очистку полного кеша можно сделать так:
var _cacheManager = EngineContext.Current.Resolve<ICacheManager>();
_cacheManager.Clear();
Я пытался сделать это так, но это не сработало.
var product = _productService.GetProductById(productModel.Id);
var productTemplateCacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_TEMPLATE_MODEL_KEY,
productModel.Id);
_cacheManager.Remove(productTemplateCacheKey);
Не знаете, как это сделать, у кого-нибудь есть идеи? Спасибо
@Div с использованием nopcommerce v3.70. это тоже не по умолчанию и не настроено
Может быть еще какая-то проблема. Вам не нужно каждый раз очищать кеш после обновления продукта!
@div мы используем метод для индексации статических html-файлов на страницах категорий GenerateCategoryPageAsHtml(int categoryId)
У меня нет кода 3.70; но я считаю, что это ваш собственный метод. И что вы подразумеваете под статическими html-файлами? будут ли он хранить целые страницы категорий в формате html?
Ах, хорошо, да, он создает html-файл из 40 продуктов и служит для улучшения скорости. Но не сохраняет страницы с разбивкой на страницы или отфильтрованные страницы
Хорошо, я не думаю, что это лучшее решение для повышения скорости, вы можете не использовать sql для хранения своих данных. Однако, если вы можете опубликовать свой код в общедоступном репозитории. Я рассмотрю проблему, с которой вы столкнулись.
Привет, @Div, извини, меня не было на работе все выходные. Я думаю, что если невозможно очистить кеш только для одного продукта, мне придется переосмыслить, как я это сделаю. Извините, но я не могу поделиться нашим репозиторием, так как на код ушло огромное количество денег и часов. Я не фанат статических html-страниц, но их создали другие разработчики.
Эй, все в порядке, я понимаю твое беспокойство.





1) Какую версию nop вы используете? 2) Я не думаю, что вам нужно будет очищать кеш после сохранения продукта. 3) Вы имеете в виду код nopCommerce по умолчанию? или вы внесли изменения?