IHttpCacheSpecificData::D ecrementTTL 方法
遞減快取資料的存留時間 (TTL) 設定。
語法
virtual VOID DecrementTTL(
OUT BOOL* pfTTLExpired
) = 0;
參數
pfTTLExpired
[OUT] true
表示 TTL 計數已達 0;否則為 false
。
執行緒安全性
實作IHttpCacheSpecificData介面的類別是 和ResetTTL方法的安全 DecrementTTL
執行緒。
備註
參數 pfTTLExpired
不得為 Null;否則, DecrementTTL
方法會在某些實作中造成存取違規。
TTL 設定會指定快取的資料不再有效,因此,應該重載該資料的時間。 大部分 IHttpCacheSpecificData
實作會將初始內部計數設定為正值,然後允許透過對 方法的後續呼叫 DecrementTTL
來減少該計數。 如果 TTL 值變成 0,應該重載資料。
DecrementTTL
的行為是特定的實作。 您應該使用下列資訊作為指導方針,但在所有案例中可能都不正確:
實作 或IHttpTokenEntry介面的
IHttpCacheSpecificData
類別會在建構時將內部計數初始化為 2,並在每次呼叫DecrementTTL
時將計數遞減 1。實作 IHttpFileInfo 介面的類別會有所不同。 某些類別會實作上述定義的配置,而其他類別則同時
ResetTTL
對 和DecrementTTL
方法執行空的作業。
實作者的注意事項
DecrementTTL
和 ResetTTL
方法實作必須是指標的安全 IHttpCacheSpecificData
執行緒。
來電者的注意事項
大部分的呼叫端可能會忽略 DecrementTTL
方法,因為這個方法是要在內部使用。
範例
下列程式碼範例示範名為 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;
};
規格需求
類型 | 描述 |
---|---|
Client | - Windows Vista 上的 IIS 7.0 - Windows 7 上的 IIS 7.5 - Windows 8 上的 IIS 8.0 - Windows 10上的 IIS 10.0 |
伺服器 | - Windows Server 2008 上的 IIS 7.0 - Windows Server 2008 R2 上的 IIS 7.5 - Windows Server 2012 上的 IIS 8.0 - Windows Server 2012 R2 上的 IIS 8.5 - Windows Server 2016上的 IIS 10.0 |
產品 | - 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 |