1) when a client requests the page my ISAPI module receives the request
2) ISAPI module reads the static cache config file (xml) and finds the node that corresponds to the current requested url (if the node is not found the default value is taken)
3) From the config node i get the cache life time
4) ISAPI module checkes if a cached file exists. If yes, it looks the last modified date of this file adds cache life time to this value and compares the result with DateTime.Now
5) If cache file is still valid then ISAPI module reads it, writes inner text to the response and closes the response to prevent executing of the page itself
6) If cache file doesn't exist or is not valid anymore then ISAPI module attaches the response filter and lets asp.net to execute the page. Then saves the response to the cache file. Smth like this... It works fine.