Configuring Last-Modified Caching

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1

To allow for greater scalability of UNC-based storage systems, IISĀ 6.0 implements a new last-modified cache algorithm for static and ASP files. The new caching algorithm does not request change notification for each directory structure; instead, it requests only the last-modified date of the cached file. If the file is new, the cache entry is updated with the new content and served. If the file has not changed, IIS serves the cached version of the file. By default, IIS checks the last-modified date for both ASP and static files if more than five seconds have elapsed since the file was last checked. Otherwise, IIS assumes the file has not changed, and it serves the existing content.

Note

The server side includes (SSI) file handler (Ssinc.dll) makes use of the static file cache, so this behavior occurs for .stm, .shtml, and any other files that are mapped to this DLL.

IISĀ 6.0 uses the last-modified caching algorithm by default. To specify change-notification caching or to change the TTL value of the cached files, you must edit the registry.

Warning

Do not edit the registry unless you have no alternative. The registry editor bypasses standard safeguards, allowing settings that can damage your system, or even require you to reinstall Windows. If you must edit the registry, back it up first and see the IIS 6.0 Registry Reference.

To set change-notification tracking or TTL for static files

  1. From the Start menu, click Run.

  2. In the Open box, type Regedit.exe, and then click OK.

  3. Navigate to the following subkey: HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters

  4. Do one or both of the following:

    • To enable change-notification caching, modify the value of the registry entry DoDirMonitoringForUnc by setting it to 1.

    • To change the TTL setting from the default of five seconds, change the value of the registry entry FileAttributeCheckThreshold to the number of seconds you want to use.

  5. Close the registry editor.

When stale content is being served by the Web Server even though the content has been updated on the remote file server, you can disable the Web Server cache to attempt to isolate the problem.

To disable the static file cache

  1. Navigate to the following subkey in the registry:

    HKLM\System\CurrentControlSet\Services\Inetinfo\Parameters

  2. Add DisableMemoryCache, a DWORD value, and set it to 1.

Then disable the ASP file cache to complete disabling the Web Server cache. For information about disabling ASP file caching, see Configuring ASP Template Caching.