Как я могу установить заголовок Управления Кэша для каждого ответа в Катализаторе?

Честно говоря, эксперты по самому определению должны знать этот материал. Но чтобы ответить на ваш вопрос: Таблица встроенных типов (справочник по C #)

Прописка компилятора для чисел широко известна:

Decimal = M
Float = F
Double = D

// for example
double d = 30D;

Однако они более неясны:

Long = L
Unsigned Long = UL
Unsigned Int = U

5
задан brian d foy 24 July 2009 в 16:35
поделиться

2 ответа

Дероберт:

Отличный вопрос. Я описал именно это в статье для календаря появления Catalyst.

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

JayK

6
ответ дан 14 December 2019 в 01:13
поделиться

Обновление: Основываясь на вашем ответе на мое предыдущее предложение, я решил укусить пулю и посмотреть документацию по Catalyst. Мне кажется, это можно сделать в:

  sub end : Private {
    my ( $self, $c ) = @_;

    # handle errors etc.

    if ( $c->res->body ) {
        if ( "some condition" ) {
            set_default_response_headers( $c->response->headers );
            return;
        }
        else {
            do_something_else();
            return;
        }
    }
    $c->forward( 'MyApp::View::TT' ); # render template
}

Предыдущий ответ: Я не использую Catalyst, но не могли бы вы просто написать подпрограмму для своего приложения?

sub set_default_response_headers {
    my ($h) = @_;
    $h->last_modified(time);
    $h->expires(time + $self->{cache_time});
    $h->header(cache_control => "public, max-age=$self->{cache_time}");
    return $h;    
}

Вызов set_default_response_headers ($ c-> response-> headers) .

3
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

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