Setting the ASP Cache Metabase Property and Registry Entry

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

The following metabase property and Windows registry entry affect ASP caching on your server. In most cases, these settings should not require tuning or adjusting. If you adjust these settings, you should monitor performance and scalability after making changes.


The AspScriptFileCacheSize Metabase Property specifies the number of precompiled script files to cache. If set to 0, no script files are cached. If set to 4,294,967,295, all script files requested are cached. This property is used to tune performance, depending on the amount of available memory and the number of script file cache hits.

The metabase represents unlimited as the DWORD value of 4,294,967,295 (0xFFFFFFFF); however, VBScript represents unlimited in hexadecimal format as &HFFFFFFFF. Earlier versions of IIS represented unlimited as -1.


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 Registry Reference.


Windows registry path: HKLM\SYSTEM\CurrentControlSet\Services\ASP\Parameters

Data type: REG_DWORD

Default value: 0 (lazy propagation enabled)

Range: 0 - 1

Lazy propagation refers to the action that IIS takes when a large amount of content is updated at one time. IIS has an internal limit on the amount of content that can be updated in the in-memory template cache. If the size of the updated content exceeds that limit, IIS marks each of the files in the in-memory template cache as invalid. When it receives the first request to an invalid file, IIS begins to compile a new template, but it serves the expired template until the new template is compiled.

If you set the value of the registry entry DisableLazyContentPropagation to 1, IIS behaves as it does for IISĀ 5.0 and IISĀ 5.1 when a large amount of content is updated at one time. IIS flushes the in-memory template cache, and performance can slow to a standstill as each new request to the server forces IIS to compile new templates.

If you are developing Web pages and making changes to a few files at a time, you do not have to refresh your pages twice to see new changes because lazy propagation only applies when a large amount of content is updated at one time.

For information about the DisableLazyContentPropagation registry entry, see ASP Registry Entries.

For more information about editing the registry, see the Registry Reference.