Установить значение параметра «Выходной кэш страницы» программным способом - PullRequest
7 голосов
/ 15 апреля 2010

Я хочу использовать значение Enum для типов параметров VaryByCustom, которые я буду поддерживать, возможно ли это сделать?

Я попытался установить его на самой странице

<%@ OutputCache Duration="600" VaryByParam="none" 
            VaryByCustom='<%=VaryByCustomType.IsAuthenticated.ToString(); %>' %>

Но это вернуло всю строку "<%=VaryByCustomType.IsAuthenticated.ToString(); %>" внутри моего global.asax, есть ли способ сделать это либо на самой странице, либо из кода? Или это просто нечто, что я должен принять, это чисто волшебные строки, и я ничего не могу поделать, чтобы повысить безопасность типов?

1 Ответ

8 голосов
/ 28 апреля 2010

Вместо использования директивы @Outputcache, попробуйте сделать это с кодом на странице. например,

void Page_Init() {
    var outputCacheSettings = new OutputCacheParameters() {
        Duration = 600,
        VaryByCustom = VaryByCustomType.IsAuthenticated.ToString()
    };
    InitOutputCache(outputCacheSettings); 
}
...