IIS Informant: Disabling ISAPI Application Caching

In IIS 5.0, you can clear the Cache ISAPI applications check box at the Web site level but not at the application level. Here’s how you can work around this bug.

Brett Hill

April 29, 2002

2 Min Read
ITPro Today logo in a gray background | ITPro Today

I'm developing an Internet Server API (ISAPI) Web application that's included in the application mappings. Because the Web server automatically caches the applications it loads, if I find an error, I need to unload the ISAPI application (i.e., restart the Web site) before I can install a new version of the application. During development, I would like to disable the automatic caching of this application. However, in the Microsoft Management Console (MMC) Internet Services Manager snap-in, the check box to enable and disable the caching of ISAPI applications is shaded. How can I disable the caching?

Funny how I've worked with IIS for a long time and never noticed this problem. The check box you're referring to is on the App Mappings tab of the Application Configuration window. If you view a Web site's App Mappings tab in the Application Configuration window, the Cache ISAPI applications check box is selected but isn't shaded, as Figure 1 shows. However, if you view the Application Configuration window for a virtual directory or directory, the Cache ISAPI applications check box is selected and shaded. According to the Microsoft article "You Cannot Change the 'Cache ISAPI Applications' Property" (http://support.microsoft.com/directory/article.asp?id=kb;en-us;q312883), a bug in IIS 5.0 causes this problem.

To set or clear the CacheISAPI property in the metabase, you can use the adsutil.vbs script. To disable the caching of ISAPI applications, launch this script with the command

X:inetpubadminscripts cscript.exe adsutil.vbs setw3svc/web#/root/foldername/cacheisapi 0

where X is your drive letter, web# is the number of your Web site, and foldername is the name of the folder that contains the ISAPI applications you don't want to cache. To enable the caching of ISAPI applications, launch the script with the command

X:inetpubadminscripts cscript.exe adsutil.vbs setw3svc/web#/root/foldername/cacheisapi 1

where X is your drive letter, web# is your Web site's number, and foldername is the name of the folder that contains the ISAPI applications you want to cache. When you type either command, it needs to be in one continuous line. If you're unfamiliar with how to determine a Web site's number, see "Distinguishing Web Sites in IIS," November 2000, InstantDoc ID 15833.

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like