次の方法で共有


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 内部的に使用されることを意図しているため、メソッドを無視することがあります。

次のコード例は、 メソッドを実装する というクラス MySpecificDataIHttpCacheSpecificData 示しています。

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

参照

IHttpCacheSpecificData インターフェイス