Изменение OutputCache на основе URL

Если Вы следуете за stackoverflow подкастами, можно ли услышать Jeff (и Geoff?) обсуждают его величие. http://blog.stackoverflow.com/2008/08/podcast-17/ . Но помните, что использование этих отдельных слоев означает, что вещи легче в будущем - и тяжелее теперь. И слои могут делать вещи медленнее. И Вам, возможно, не понадобятся они. Но не позволяйте этому мешать Вам изучить то, что это - при создании больших, устойчивых, долговечных систем, это неоценимо.

8
задан Blatfrig 24 November 2009 в 17:30
поделиться

2 ответа

In the end this was quite simple to fix.

  1. Add the following directive to the page that needs to be cached:

    < %@ outputcache duration="600" location="Downstream" varybyparam="none" varybycustom="RawURL" %>

  2. Add this method to the global.asax file

    public override string GetVaryByCustomString(HttpContext context, string custom)
    {
     switch (custom.ToUpper())
     {
     case "RAWURL":
     return context.Request.RawUrl;
    
     default:
     return "";
     }
    }
    
11
ответ дан 5 December 2019 в 15:24
поделиться

Программно вы можете установить параметры кэширования, используя Response.Cache . Вы можете включить переменную строки запроса и, в зависимости от случая, установить свойства для Response.Cache соответствующим образом.

MSDN на объекте Cache
Еще одна полезная статья с aspalliance.com

0
ответ дан 5 December 2019 в 15:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: