Отключить кэш вывода для специальной ссылки - PullRequest
0 голосов
/ 26 ноября 2018

У меня большой проект ASP.NET MVC для электронной коммерции.Я использую кеш вывода для системы кеша, но мне нужно отключить кеш вывода для специальной ссылки.Я знаю, что могу сделать это с помощью отдельного действия, но я не хочу использовать другое действие.Мне нужно отключить его в том же действии.

Спасибо за ваши решения.

[OutputCache(Duration = 3600, VaryByCustom  = "none")]
public ActionResult CheckIsCustomPage(string sefLink)
{
   //for example i need here like this
   //if (sefLink=="blablabla.html"){
   // turnoff output cache
   // }
}

1 Ответ

0 голосов
/ 26 ноября 2018

Может быть попробовать пользовательскую реализацию атрибута OutputCache

    [AttributeUsage(AttributeTargets.Method,
        AllowMultiple = false, Inherited = false)]
public class OutputCacheVary : OutputCacheAttribute
{
    public OutputCacheVary()
    {

    }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        string paramText = filterContext.ActionParameters["sefLink"].ToString();

        if (paramText == "blablabla.html")
        {
            NoStore = true;
        }
        else
        {
            Duration = 3600;
            VaryByCustom = "none";
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...