Поделиться через


Метод IHttpCacheSpecificData::ResetTTL

Сбрасывает значение срока жизни кэшированных данных.

Синтаксис

virtual VOID ResetTTL(  
   VOID  
) = 0;  

Параметры

Этот метод не принимает параметров.

Потокобезопасность

Классы, реализующие интерфейс IHttpCacheSpecificData , являются потокобезопасны для методов DecrementTTL и ResetTTL .

Комментарии

Срок жизни используется для определения того, когда кэшированные данные больше не являются допустимыми и, следовательно, когда эти данные следует перезагружать. В большинстве IHttpCacheSpecificData реализаций начальное внутреннее число устанавливается как положительное значение, а затем позволяет уменьшить это число с помощью последовательных вызовов DecrementTTL метода. Если значение TTL становится 0, данные следует перезагрузить.

Поведение метода зависит от ResetTTL реализации. В качестве руководства следует использовать следующие сведения, но они могут быть неправильными во всех сценариях:

  • Классы, реализующие IHttpCacheSpecificData интерфейсы или IHttpTokenEntry , инициализируют внутреннее число до 2 при построении и уменьшает это число на 1 при каждом вызове DecrementTTL.

  • Классы, реализующие интерфейс IHttpFileInfo , различаются. Некоторые классы реализуют схему, определенную выше, в то время как другие выполняют пустые операции с и ResetTTLDecrementTTL.

Примечания для разработчиков

Реализации DecrementTTL методов и ResetTTL должны быть потокобезопасны для IHttpCacheSpecificData указателя.

Примечания для абонентов

Большинство вызывающих может игнорировать метод , ResetTTL так как этот метод предназначен для внутреннего использования.

Пример

В следующем примере кода демонстрируется класс с именем MySpecificData , который реализует методы IHttpCacheSpecificData .

class MySpecificData : public IHttpCacheSpecificData  
{  
public:  
    MySpecificData()  
    {  
        m_ttl = 2;  
    }  
  
    virtual ~MySpecificData()  
    {  
        m_ttl = 0;  
    }  
  
    virtual VOID ResetTTL(VOID)  
    {  
        m_ttl = 2;  
    }  
  
    virtual VOID DecrementTTL(BOOL* pfTTLExpired)  
    {  
        *pfTTLExpired = (InterlockedDecrement(&m_ttl) == 0);  
    }  
  
private:  
    LONG m_ttl;  
};  

Требования

Тип Описание
клиент — IIS 7.0 в Windows Vista
— IIS 7.5 в Windows 7
— IIS 8.0 в Windows 8
— IIS 10.0 в Windows 10
Сервер — IIS 7.0 в Windows Server 2008
— IIS 7.5 в Windows Server 2008 R2
— IIS 8.0 в Windows Server 2012
— IIS 8.5 в Windows Server 2012 R2
— IIS 10.0 в Windows Server 2016
Продукт — IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
- IIS Express 7.5, IIS Express 8.0, IIS Express 10.0
Заголовок Httpserv.h

См. также:

Интерфейс IHttpCacheSpecificData