<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx</link><description>Motivation One of the bigger buzz-word features of IIS 6.0 on Windows Server 2003 is the "HTTP.SYS Kernel Mode Response Cache". When you do a search against "HTTP.SYS Kernel Response Cache IIS 6", you will inevitably find a large body of literature repeatedly</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>David Wang discusses http.sys's kernel response cache.</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#439046</link><pubDate>Fri, 15 Jul 2005 03:48:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:439046</guid><dc:creator>WebTransports's WebLog</dc:creator><description>Check out David Wang's recent post about http.sys's response cache. He describes the configurable registry...</description></item><item><title>David Wang discusses http.sys's kernel response cache.</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#439415</link><pubDate>Fri, 15 Jul 2005 23:44:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:439415</guid><dc:creator>Windows Network Developer Platform</dc:creator><description>Check out David Wang's recent post about http.sys's response cache. He describes the configurable registry...</description></item><item><title>David Wang discusses http.sys's kernel response cache.</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#439416</link><pubDate>Fri, 15 Jul 2005 23:44:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:439416</guid><dc:creator>Windows Network Developer Platform</dc:creator><description>Check out David Wang's recent post about http.sys's response cache. He describes the configurable registry...</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#450726</link><pubDate>Fri, 12 Aug 2005 10:09:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:450726</guid><dc:creator>Rick Strahl</dc:creator><description>David, &lt;br&gt;&lt;br&gt;Would it be possible to post some sample code on how to get a URL into the Cache from an ISAPI extension? The docs for HSE_REQ_VECTOR_SEND are sketchy at best and I'm not clear how set up the call and what to pass. Do you still use WriteClient or pass all to ServerSupportFunction or what?</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#450767</link><pubDate>Fri, 12 Aug 2005 12:52:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:450767</guid><dc:creator>David Wang</dc:creator><description>Yes, I'm planning on posting in another entry source code on how to both insert and invalidate the HTTP.SYS cache from ISAPI using HSE_REQ_VECTOR_SEND. I am just a bit swamped with IIS7 work at the moment (see my recent blog entries).&lt;br&gt;&lt;br&gt;What aspect of the HSE_REQ_VECTOR_SEND documentation do you think is sketchy?&lt;br&gt;&lt;br&gt;The earlier versions (which I never knew about nor reviewed) were pretty bad, but the latest version from Feb 2005 should have everything necessary. All the flags are finally there and described, related SSF function calls and structures are linked correctly, and everything is documented. Only thing thing that could be missing is a code sample, but that is not platform documentation.&lt;br&gt;&lt;br&gt;A &amp;quot;HOWTO&amp;quot; document belongs elsewhere and was an article I planned to write (in the past) and publish through the MSDN/KB system, but I don't need to do that anymore because I'm just going to write it up and blog it now.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#480365</link><pubDate>Thu, 13 Oct 2005 04:06:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:480365</guid><dc:creator>Tom Keating</dc:creator><description>I think the IIS kernel caching is what is causing my RSS feed (index.xml) to be cached with old information. I have to restart IIS for the latest RSS feed to diaplay or wait what seems like an eternity for the latest RSS feed to display.&lt;br&gt;&lt;br&gt;Is there a way of excluding certain files from kermel caching or at least force it to re-cache the file if the file changes?&lt;br&gt;&lt;br&gt;Thanks</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#480481</link><pubDate>Thu, 13 Oct 2005 12:17:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:480481</guid><dc:creator>David Wang</dc:creator><description>Tom - Why do you think that kernel caching is the issue? Is the kernel cache hit perf counter increasing?&lt;br&gt;&lt;br&gt;I presume .xml is handled as a static file on your server. If it is not, then this cannot be an IIS issue since caching behavior depends on the handler.&lt;br&gt;&lt;br&gt;By default, IIS static file handler uses file-change notification to detect file changes and flush the appropriate cache(s).&lt;br&gt;&lt;br&gt;There is no built-in declarative mechanism to include nor exclude resources from kernel caching, though it would not be very hard to implement the exclusion logic - just use a IIsWebFile to make a configuration setting on index.xml such that it fails the aforementioned caching criteria.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#480660</link><pubDate>Thu, 13 Oct 2005 19:43:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:480660</guid><dc:creator>Tom Keating</dc:creator><description>&amp;gt;&amp;gt; Why do you think that kernel caching is the issue?&lt;br&gt;&lt;br&gt;If I open the file locally on the IIS server, the file is current. If I go to another PC which has never loaded the index.xml feed (not cached by the browser), it often loads an older version of the file. The only way I can see that happening is if the kernel is holding the file in memory.&lt;br&gt;&lt;br&gt;I can even DELETE the index.xml file fom the IIS server and IIS will continue to &amp;quot;serve&amp;quot; the file as though it still exists. Weird, eh?&lt;br&gt;&lt;br&gt;If I then stop/start IIS then I'd get a file not found error on my browser. (or if I didn't delete the file, restarting IIS makes sure the most recent XML file is served)&lt;br&gt;&lt;br&gt;I assumed since the kernel cache caches heavily accessed files, such as my blog's RSS feed, that the kernel was keeping the file in memory and thus serving it from the kernel instead of the hard disk. &lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;Is the kernel cache hit perf counter increasing? &lt;br&gt;&lt;br&gt;Not sure how to add this to the performance monitor. I'll have to look into this.&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;I presume .xml is handled as a static file on your server&lt;br&gt;&lt;br&gt;Not exactly sure what you mean. It isn't defined as a MIME type in the IIS Manager. Should it be? I didn't think I had to define the &amp;quot;common&amp;quot; file types under HTTP Headers, MIME Types. I'll ask our main IIS web guru about that.&lt;br&gt;&lt;br&gt;Thanks for your help.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#481370</link><pubDate>Sat, 15 Oct 2005 11:48:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:481370</guid><dc:creator>David Wang</dc:creator><description>Tom - IIS has many, many caches.&lt;br&gt;&lt;br&gt;And when you suspect a caching issue, you need to determine:&lt;br&gt;1. What cache(s) are involved&lt;br&gt;2. What are the insertion and eviction policies of each cache involved&lt;br&gt;&lt;br&gt;I just do not see how &amp;quot;assuming&amp;quot; behaviors is valid at all, thus I ask you for info proving what caches are involved (without SP1, only perfmon tells you if kernel response cache is involved - SP1 allows you to use ETW Tracing to see when a response is kernel response cached).&lt;br&gt;&lt;br&gt;A blog is a web application that may configure IIS differently than default, so I assume nothing. For example, assuming the kernel response cache is involved here... then according to its cache insertion policy, either the IIS Static File Handler or an ISAPI inserted the cache entry.&lt;br&gt;&lt;br&gt;To determine which happened, you need to see if options.xml has a MIME Type and is handled by the IIS Static File handler, or is it scriptmapped (or *-scriptmapped) to an ISAPI DLL. .XML has a default MIME Type so it should download by default unless you have it ScriptMapped and handled by another handler.&lt;br&gt;&lt;br&gt;See this URL for details of how IIS6 determines which handler to process a requested resource:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx"&gt;http://blogs.msdn.com/david.wang/archive/2005/10/14/HOWTO_IIS_6_Request_Processing_Basics_Part_1.aspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;Thus, I can think of a case where ASP.Net is *-scriptmapped to handle all requests to that application, including options.xml. This means that ASP.Net's cache insertion policy is in effect, and maybe it does not heed file-change notification but rather Last-Modified and @Page directives. In this case, you can modify/delete options.xml all you want, but since it does not trigger anyone to evict the cached entry, it stays there until one of the other two kernel response cache eviction algorithms kick in.&lt;br&gt;&lt;br&gt;At this point, you just have an unexplained caching phenomenon. Maybe RSS feed is not supposed to change that fast (if it changes fast, then why bother caching it?). Knowing what cache is involved and its insertion/eviction semantics allow you to determine whether something is actually broken or not.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#488669</link><pubDate>Thu, 03 Nov 2005 17:37:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488669</guid><dc:creator>Stu Hodgson</dc:creator><description>Due to an encountered problem with caching it was decided to turn off caching within the registry. Whilst the implemntation uses IIS6 it is running in IIS5 compatability mode.  The cache was proven to be Server side with the problem being when the client browser was closed and the same URL hit from another browser on any other netwoked machine cached information was displayed.  Is anybody ware of a similar issue.</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#488976</link><pubDate>Fri, 04 Nov 2005 11:39:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488976</guid><dc:creator>David Wang</dc:creator><description>Stu - Well, if you say that you rule out client-side cache by using different clients, and you rule out server-side cache by turning it off, then you probably need to look at caches in between the client and server in the network layer, like Proxy Servers and the like.&lt;br&gt;&lt;br&gt;Now, you did not state WHAT type of content was cached - static or dynamic content (as identified by IIS) - because static content cache is controllable via metabase and/or registry key settings, but dynamic content cache is completely arbitrary and depends on the ISAPI implementation (this blog entry should have made that clear).&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#491291</link><pubDate>Thu, 10 Nov 2005 17:27:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:491291</guid><dc:creator>Stu Hodgson</dc:creator><description>David- Thanks for your reply this issue was concerning dynamic content and investigation is ongoing around the ISAPI implementation.  It is noted that this issue is not encountered with IIS5. The theory is that the third party security runtime ISAPI is not coded correctly for IIS6. </description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#496494</link><pubDate>Thu, 24 Nov 2005 02:13:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:496494</guid><dc:creator>Jp Maxwell</dc:creator><description>David I am having the exact same problem Tom described.  I have an XML file that when updated on the hard drive is not updated via http.  I have disabled all asp.net &amp;amp; asp processing.  I have enabled immediate content expiration.  I have removed the &amp;quot;application&amp;quot; making just a straight static web server.  It still caches.  The XML file is updated on the hard drive every 5 minutes or so.  In order for it to update via HTTP I have to do an IISRESET.  Any help would be appreciated.  FYI, this was a fresh Win 2003 install w/ all updates applied. </description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#496527</link><pubDate>Thu, 24 Nov 2005 05:01:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:496527</guid><dc:creator>Jp Maxwell</dc:creator><description>Please see:&lt;br&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://www.experts-exchange.com/Web/Web_Servers/IIS/Q_21037463.html?query=IIS6+Cache&amp;amp;clearTAFilter=true"&gt;http://www.experts-exchange.com/Web/Web_Servers/IIS/Q_21037463.html?query=IIS6+Cache&amp;amp;clearTAFilter=true&lt;/a&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#513910</link><pubDate>Tue, 17 Jan 2006 22:22:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:513910</guid><dc:creator>fublogs</dc:creator><description>Recently,I write a iis filter for iis 6.0;&lt;br&gt;&lt;br&gt;but,i found that event client cancel download&lt;br&gt;&lt;br&gt;file,but filter can receive &amp;quot;sf_notifiy_send_raw_data&amp;quot; up to 2000 times.&lt;br&gt;&lt;br&gt;please help me! email:fujiachun@163.com&lt;br&gt;&lt;br&gt;Thanks!!!! </description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#514204</link><pubDate>Wed, 18 Jan 2006 11:23:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:514204</guid><dc:creator>David Wang</dc:creator><description>fublogs - The behavior is by-design on IIS6 due to HTTP.SYS buffering of the outgoing response. There is no way for an ISAPI Filter to detect if the client cancelled the download or not. There is full discussion of this on the newsgroup microsoft.public.platformsdk.internet.server.isapi-dev :&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://groups.google.com/group/microsoft.public.platformsdk.internet.server.isapi-dev/browse_thread/thread/73cde21658c5be27/118e4c7d608a311e"&gt;http://groups.google.com/group/microsoft.public.platformsdk.internet.server.isapi-dev/browse_thread/thread/73cde21658c5be27/118e4c7d608a311e&lt;/a&gt;&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://groups.google.com/group/microsoft.public.platformsdk.internet.server.isapi-dev/browse_thread/thread/c9ebb5f37d8f7d61/8c2b6dbca5231633"&gt;http://groups.google.com/group/microsoft.public.platformsdk.internet.server.isapi-dev/browse_thread/thread/c9ebb5f37d8f7d61/8c2b6dbca5231633&lt;/a&gt;&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#530584</link><pubDate>Mon, 13 Feb 2006 00:36:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:530584</guid><dc:creator>Luke Harris</dc:creator><description>I was wondering about the use of NPP by HTTP.sys doing HTTP response caching. I guess I might be making a wrong assumption, but I thought...&lt;br&gt;&lt;br&gt;(1) HTTP.SYS is a kernel mode driver.&lt;br&gt;(2) Kernel mode drivers can only access NPP.&lt;br&gt;(3) NPP is restricted to 128Mb RAM on X86 architecture.&lt;br&gt;&lt;br&gt;If that's right, then 128Mb doesn't seem a lot of space for caching, especially since you wouldn't want to use all of the NPP!&lt;br&gt;&lt;br&gt;Thanks if you get a chance to address this in your blog</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#531335</link><pubDate>Tue, 14 Feb 2006 02:44:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:531335</guid><dc:creator>David.Wang</dc:creator><description>Luke - yes, you are making some wrong assumptions... :-)&lt;br&gt;&lt;br&gt;Kernel mode code can access much more than just NPP.&lt;br&gt;&lt;br&gt;HTTP.SYS actually uses available physical memory (configurable limit) for the cached response content of the &amp;quot;kernel response cache&amp;quot;.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#536206</link><pubDate>Tue, 21 Feb 2006 21:08:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:536206</guid><dc:creator>Charm</dc:creator><description>David, would POSTs with 200 0 64 reponses (from IIS log) be cached. What I'm experiencing is these responses are being repeated until a 200 0 0 response is returned. This causes multiple posts within seconds of each other. &lt;br&gt;&lt;br&gt;I have not been able to find a concrete answer to tell me what the 200 0 64 or 200 0 1236 mean. &lt;br&gt;&lt;br&gt;I hope you can help shed some light. </description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#536319</link><pubDate>Tue, 21 Feb 2006 23:48:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:536319</guid><dc:creator>David.Wang</dc:creator><description>Charm - I do not think &amp;quot;this causes multiple posts within seconds of each other&amp;quot; has anything to do with caching because:&lt;br&gt;1. when multiple posts happen, it means that multiple requests were processed and responses generated&lt;br&gt;2. when cached response happens, it means that request is handled from the cache *without* any processing&lt;br&gt;&lt;br&gt;What this means is that if caching is involved, request handling never happens, and without request handling you cannot have &amp;quot;multiple post&amp;quot;.&lt;br&gt;&lt;br&gt;64 and 1236 are Win32 error codes.&lt;br&gt;&lt;br&gt;NET HELPMSG 64 returns:&lt;br&gt;The specified network name is no longer available.&lt;br&gt;&lt;br&gt;NET HELPMSG 1236 returns:&lt;br&gt;The network connection was aborted by the local system.&lt;br&gt;&lt;br&gt;They both indicate that the connection was prematurely closed, so it really does not indicate failure or success. All you know is that from server side, it thinks everything is ok.&lt;br&gt;&lt;br&gt;I think the client is multi-posting for you and possibly causing your duplicate posts.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#537964</link><pubDate>Thu, 23 Feb 2006 20:19:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:537964</guid><dc:creator>Charm</dc:creator><description>Thanks for the quick response David. After another day of troubleshooting duplicate posts, I have no solid answers. The users swear they only pressed the Submit button once. We're seeing GET and POST requests with the 200 0 64 responses. While I don't care much about the GETs, the POSTs are killers as it will cause the app to post multiple times, creating charging or crediting clients multiple times. &lt;br&gt;&lt;br&gt;It’s happening at random on two load balanced servers, each with quad CPUs. The app was just migrated from W2K to these W2K3 servers. We did not see this issue in Stage where UAT and Intergration Testing was done. &lt;br&gt;&lt;br&gt;Is there a way to configure IIS to prevent identical POSTs that have 200 0 64’s in the last 10 seconds or to treat all 200 0 64s as a 500 errors?&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#538197</link><pubDate>Fri, 24 Feb 2006 01:21:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:538197</guid><dc:creator>David.Wang</dc:creator><description>Charm - The safest and easiest way to prevent multiple POSTs is for your application to synchronize the action itself. People tend to use Session State to do this... and if you load-balance and use out-of-process Session State, users can bounce between the load balanced servers and still not duplicate POST.&lt;br&gt;&lt;br&gt;In general, this sort of problem is best solved at the user application level. The notion of &amp;quot;preventing identical posts within the last 10 seconds&amp;quot; does not solve the underlying logic problem at the application layer.&lt;br&gt;&lt;br&gt;//David</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#598190</link><pubDate>Mon, 15 May 2006 21:20:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:598190</guid><dc:creator>Rob Gwen</dc:creator><description>&amp;quot;A static file (i.e. .htm, .css, .js, .jpg) is NOT guaranteed to be kernel response cached. You could have an [Wildcard] Application Mapping that applies to those extensions&amp;quot;&lt;br&gt;&lt;br&gt;Hi, &lt;br&gt;A newbie question: I need kernel caching for .jpg files. To what application should I map?&lt;br&gt;Thanks...</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#786183</link><pubDate>Tue, 03 Oct 2006 19:10:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:786183</guid><dc:creator>Adi</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;Just a quick question: &lt;/p&gt;
&lt;p&gt;If you use HttpContext.RewritePath in ASP.NET does that mean you can never benefit of kernel mode caching? A yes/no answer would suffice. A more detailed answer would be greatly appreciated.&lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Adi&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#5302153</link><pubDate>Sat, 06 Oct 2007 02:15:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5302153</guid><dc:creator>Dharmesh Shah</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;In your February 23, 2006 reply - you have mentioned &amp;quot;The safest and easiest way to prevent multiple POSTs is for your application to synchronize the action itself.&amp;quot;&lt;/p&gt;
&lt;p&gt;I would request you to share the technic/logic to be used to identify the duplicate POST request. &lt;/p&gt;
&lt;p&gt;Thanks,&lt;/p&gt;
&lt;p&gt;Dharmesh&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#6951770</link><pubDate>Wed, 02 Jan 2008 13:15:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6951770</guid><dc:creator>Radha Krishna Prasad</dc:creator><description>&lt;p&gt;I am not able to access a sql end point (created on a live server) from a proxy server enabled LAN.&lt;/p&gt;
&lt;p&gt;I am using Windows Server 2003 SP-1, So do I need any registry edit? &lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#7004132</link><pubDate>Sun, 06 Jan 2008 13:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7004132</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Rob - .jpg files are kernel response cached by default unless otherwise configured. Read the URL link in this same blog entry for the full meaning of &amp;quot;otherwise configured&amp;quot;.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#7004152</link><pubDate>Sun, 06 Jan 2008 13:54:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7004152</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Adi - rewriting the URL breaks all caching, kernel response included, by definition.&lt;/p&gt;
&lt;p&gt;IIS cannot be certain that your custom code rewrites URLs consistently to ensure cached responses are also consistent and correct. Thus, if any code attempts to rewrite the URL, caching is disabled.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#7004197</link><pubDate>Sun, 06 Jan 2008 13:59:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7004197</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Dharmesh Shah - thanks for the request, but I believe it is an exercise to be completed by the reader.&lt;/p&gt;
&lt;p&gt;Please read my BIO on why I do not answer questions posed like your own. If you have a specific question on how to do something, then I will try to help with knowledge -- but I cannot just &amp;quot;do something for you&amp;quot;.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#7479463</link><pubDate>Wed, 06 Feb 2008 03:46:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7479463</guid><dc:creator>Brad Laney</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Your post helped us find our problem well.&lt;/p&gt;
&lt;p&gt;I've verified that the pages are being inserted into the HTTP.SYS Response cache, but the problem is it doesn't update.&lt;/p&gt;
&lt;p&gt;We are a hosting company, and our clients CSS files do not update during design modifications. Recycling the application pools does not help, I believe restarting IIS doesn't help either (neither of which are acceptable).&lt;/p&gt;
&lt;p&gt;I need a way to force the HTTP.SYS to run its algorithm to get new content static pages.&lt;/p&gt;
&lt;p&gt;&amp;quot;On-Demand - ISAPI Extension can use the HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK ServerSupportFunction to retrieve a pointer to the on-demand URL revocation function&amp;quot;&lt;/p&gt;
&lt;p&gt;Well.. This page is specific to &lt;/p&gt;
&lt;p&gt;Microsoft Visual Studio 2008/.NET Framework 3.5&lt;/p&gt;
&lt;p&gt;I am running classic ASP and do not have the option to run .NET to do this.&lt;/p&gt;
&lt;p&gt;Am I just up the creek on this one?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#7487227</link><pubDate>Wed, 06 Feb 2008 12:11:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7487227</guid><dc:creator>mitsuwo</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I have a problem same as brad posted above.&lt;/p&gt;
&lt;p&gt;Is There any way to use this future with classic ASP?&lt;/p&gt;
&lt;p&gt;Can'I solve the problem by write ISAIP Filter or other programs ?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#8426667</link><pubDate>Sat, 26 Apr 2008 11:51:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8426667</guid><dc:creator>John Hancock</dc:creator><description>&lt;p&gt;@Brad,&lt;/p&gt;
&lt;p&gt;What will help is stopping the website in IIS, connecting to the URL through a browser and restarting it. &lt;/p&gt;
&lt;p&gt;Of course, you can't give your hosting clients that kinda access. &lt;/p&gt;
&lt;p&gt;We're down to metabase edits for some stuff, but for the css....&lt;/p&gt;
&lt;p&gt;Simple way is to use the Custom Headers and write type: 'Cache-Control' value: 'no-cache' after right-clicking and editing properties of the css file you want to refresh every time. Of course, we like our CSS files to get cached in production, so we faff around every time. Oh for a list-view and a checkbox.&lt;/p&gt;
&lt;p&gt;John&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9045149</link><pubDate>Wed, 05 Nov 2008 23:54:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9045149</guid><dc:creator>MikeC</dc:creator><description>&lt;p&gt;David,&lt;/p&gt;
&lt;p&gt;I need to flush periodically the entire IIS6/7 http.sys cache programmatically from a filter dll. The cache invalidation function obtained via HSE_REQ_GET_CACHE_INVALIDATION_CALLBACK apparently works on a single URL -- or is there a wildcard to zap all? &amp;nbsp;One other bit of advice I see is to set cache invalidation time to zero, then back to the original value, presumably via CacheControlMaxAge, or some such. But does this work without restarting the service? &amp;nbsp;Many thanks for your informative public-spirited site.&lt;/p&gt;
&lt;p&gt; &amp;nbsp;--Mike&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9299480</link><pubDate>Thu, 08 Jan 2009 21:42:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9299480</guid><dc:creator>Southside Steve</dc:creator><description>&lt;p&gt;Is there any way to monitor cache flush events? I want to see why the Current Files Cached and Current URIs cached continually get flushed. There is no expires: in the headers, the TTL is set higher and the scavenger period is set longer than the frequency with which these things seem to get flushed. (IIS 6.0)&lt;/p&gt;
&lt;p&gt;Steve&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9307764</link><pubDate>Mon, 12 Jan 2009 16:02:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9307764</guid><dc:creator>Abhijeet</dc:creator><description>&lt;p&gt;Is there any way to configure IIS to clear cache at the end of every session? What are pros and cons?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9318164</link><pubDate>Wed, 14 Jan 2009 10:23:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9318164</guid><dc:creator>David.Wang</dc:creator><description>&lt;p&gt;Abhijeet - Can you clarify what you are trying to accomplish?&lt;/p&gt;
&lt;p&gt;There is no such thing as &amp;quot;session&amp;quot; in HTTP or IIS, so your question has no direct meaning.&lt;/p&gt;
&lt;p&gt;//David&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9608327</link><pubDate>Wed, 13 May 2009 01:30:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9608327</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;___________________________&lt;/p&gt;
&lt;p&gt;Win2K3 + II6 &amp;nbsp;Double Posts:&lt;/p&gt;
&lt;p&gt;Trying to uncover the reason why IIS6 would not be logging requests for 2 minutes. &amp;nbsp;An outage reported by an external ping, first thought: connection issue. &amp;nbsp; However a little more digging and the IIS time is specified as the end time by &lt;a rel="nofollow" target="_new" href="http://www.w3.org/TR/WD-logfile.html"&gt;http://www.w3.org/TR/WD-logfile.html&lt;/a&gt; &amp;nbsp;(microsoft refers to it as the time the activity occured) &amp;nbsp;so naturaly start time should be calculated by subtracting the time-taken from end time. &amp;nbsp; &lt;/p&gt;
&lt;p&gt;Now to prove this I've made a very simple asp script. &amp;nbsp; it sleeps for 10s using the SQL Server.&lt;/p&gt;
&lt;p&gt;I ran the script &amp;nbsp;these are my results:&lt;/p&gt;
&lt;p&gt;please note connection error the first time it ran&lt;/p&gt;
&lt;p&gt;then an automatic re-request which took 17 seconds for a script that is supposed to take 10 seconds.&lt;/p&gt;
&lt;p&gt;this produces more questions then answers&lt;/p&gt;
&lt;p&gt;I was not able to reproduce this behavior again (however maybe some of the issues we're having could be explained by this misterious behavior), I've tried renaming the script changing the code a bit, but it now always produces a single entry of little more then 10s.&lt;/p&gt;
&lt;p&gt;______________&lt;/p&gt;
&lt;p&gt;Script Output:&lt;/p&gt;
&lt;p&gt;First Run:&lt;/p&gt;
&lt;p&gt;Start time: 15:38:03&lt;/p&gt;
&lt;p&gt;End time: 15:38:13&lt;/p&gt;
&lt;p&gt;Second Run:&lt;/p&gt;
&lt;p&gt;Start time: 15:53:45&lt;/p&gt;
&lt;p&gt;End time: 15:53:55&lt;/p&gt;
&lt;p&gt;____________&lt;/p&gt;
&lt;p&gt;IIS logfile:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2009-05-12 20:38:03 W3SVC920801317 GET /inc/sleep.asp - 80 - 76.65.237.13 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US)+AppleWebKit/525.19+(KHTML,+like+Gecko)+Chrome/1.0.154.65+Safari/525.19 ASPSESSIONIDAABBRBAB=MIKCIGIAODFAAMDIGHMMJGAE 200 0 64 220 508 10171 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2009-05-12 20:38:13 W3SVC920801317 GET /inc/sleep.asp - 80 - 76.65.237.13 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US)+AppleWebKit/525.19+(KHTML,+like+Gecko)+Chrome/1.0.154.65+Safari/525.19 ASPSESSIONIDAABBRBAB=MIKCIGIAODFAAMDIGHMMJGAE 200 0 0 260 508 16749 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2009-05-12 20:53:55 W3SVC920801317 GET /inc/sleep.asp - 80 - 76.65.237.13 HTTP/1.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.1;+en-US)+AppleWebKit/525.19+(KHTML,+like+Gecko)+Chrome/1.0.154.65+Safari/525.19 ASPSESSIONIDAABBRBAB=MIKCIGIAODFAAMDIGHMMJGAE 200 0 0 260 508 10062 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9701490</link><pubDate>Fri, 05 Jun 2009 18:39:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701490</guid><dc:creator>Alex</dc:creator><description>&lt;p&gt;One more question. &amp;nbsp; Does IIS6 and IIS7 have any simple way of reloading file caches? &lt;/p&gt;
&lt;p&gt;At the moment I'm mostly concerned with the cache for the compiled classic ASP files. &amp;nbsp;I'm using NTFS junctions for versioning and instant reverts. &amp;nbsp;However IIS does not detect that the files have changed. &amp;nbsp;The only way that I found how to get IIS6 to reload the files without loosing sessions, &amp;nbsp;is to change the following metabase&lt;/p&gt;
&lt;p&gt;properties to 0&lt;/p&gt;
&lt;p&gt;AspScriptFileCacheSize=&amp;quot;0&amp;quot;&lt;/p&gt;
&lt;p&gt;AspMaxDiskTemplateCacheFiles=&amp;quot;0&amp;quot;&lt;/p&gt;
&lt;p&gt;AspScriptEngineCacheMax=&amp;quot;0&amp;quot;&lt;/p&gt;
&lt;p&gt;and then change them back.&lt;/p&gt;
&lt;p&gt;Surely there must be some simple scriptable interface for controlling various caches in IIS?&lt;/p&gt;
</description></item><item><title>re: HOWTO: Use the HTTP.SYS Kernel Mode Response Cache with IIS 6</title><link>http://blogs.msdn.com/david.wang/archive/2005/07/07/HOWTO-Use-Kernel-Response-Cache-with-IIS-6.aspx#9860312</link><pubDate>Fri, 07 Aug 2009 18:44:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9860312</guid><dc:creator>Daniel Mizrahi</dc:creator><description>&lt;p&gt;Hi David,&lt;/p&gt;
&lt;p&gt;I have been looking for the answer to this for a few days, but haven't been able to get it answer.&lt;/p&gt;
&lt;p&gt;I have three environments setup identically (DEV, QA, STAGING) using IIS. We have recently made changes to an RSS generator app where we only added a new parameter in the querystring. We found that in DEV and QA environment RSS is not being cached. But when we moved application to our STAGING environment, response is being cached for the &amp;lt;ttl&amp;gt; period of time specified in the RSS.&lt;/p&gt;
&lt;p&gt;Any ideas as to how the cachin and ttl works in this situation? Where is it stored?&lt;/p&gt;
&lt;p&gt;Any lights to this issue would be really appreciated.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Daniel Mizrahi&lt;/p&gt;
</description></item></channel></rss>