IHttpCacheSpecificData::ResetTTL 方法
重設快取資料的存留時間 (TTL) 設定。
語法
virtual VOID ResetTTL(
VOID
) = 0;
參數
此方法不會採用任何參數。
執行緒安全性
實作 IHttpCacheSpecificData 介面的類別是 DecrementTTL 和 ResetTTL
方法的執行緒安全。
備註
TTL 可用來判斷快取的資料何時不再有效,因此,應該重載該資料的時間。 大部分 IHttpCacheSpecificData
的實作會將初始內部計數設定為正值,然後允許透過對 方法的後續呼叫 DecrementTTL
來減少該計數。 如果 TTL 值變成 0,則應該重載資料。
方法的行為是實作 ResetTTL
特定的。 您應該使用下列資訊作為指導方針,但在所有案例中可能都不正確:
實作 或IHttpTokenEntry介面的
IHttpCacheSpecificData
類別會在建構時將內部計數初始化為 2,並在每次呼叫DecrementTTL
時將計數遞減 1。實作 IHttpFileInfo 介面的類別會有所不同。 某些類別會實作上述定義的配置,而其他類別則會在 和
DecrementTTL
上ResetTTL
執行空白作業。
實作者的注意事項
DecrementTTL
和 ResetTTL
方法實作必須是指標的 IHttpCacheSpecificData
執行緒安全。
來電者的附注
大部分的呼叫端可能會忽略 方法, ResetTTL
因為這個方法是要在內部使用。
範例
下列程式碼範例示範實作 IHttpCacheSpecificData
方法的類別 MySpecificData
。
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 |