IHttpCacheSpecificData::ResetTTL メソッド
キャッシュされたデータの Time-to-Live (TTL) 設定をリセットします。
構文
virtual VOID ResetTTL(
VOID
) = 0;
パラメーター
このメソッドは、パラメーターを受け取りません。
スレッド セーフ
IHttpCacheSpecificData インターフェイスを実装するクラスは、DecrementTTL メソッドと ResetTTL
メソッドのスレッド セーフです。
解説
TTL は、キャッシュされたデータがいつ有効でなくなったかを判断するために使用されます。したがって、そのデータを再読み込みするタイミングを決定します。 ほとんどの IHttpCacheSpecificData
実装では、初期内部カウントを正の値に設定し、 メソッドを連続して呼び出してカウントを DecrementTTL
減らすことができます。 TTL 値が 0 の場合は、データを再読み込みする必要があります。
メソッドの ResetTTL
動作は実装固有です。 ガイドラインとして次の情報を使用する必要がありますが、すべてのシナリオで正しくない場合があります。
または IHttpTokenEntry インターフェイスを
IHttpCacheSpecificData
実装するクラスは、構築時に内部カウントを 2 に初期化し、 のDecrementTTL
呼び出しごとにカウントを 1 ずつ減らします。IHttpFileInfo インターフェイスを実装するクラスはさまざまです。 上記で定義したスキームを実装するクラスもあれば、 と
DecrementTTL
の両方ResetTTL
に対して空の操作を実行するクラスもあります。
実装側の注意
メソッドと ResetTTL
メソッドの実装はDecrementTTL
、ポインターのスレッド セーフである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;
};
要件
Type | 説明 |
---|---|
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 |
Header | Httpserv.h |