Challenge 2: Kernel-Mode Caching Not Working Despite a Configured Profile -- Solution Walkthrough The most likely reason: an active URL Rewrite rule on that exact path makes the response ineligible for kernel-mode caching. Kernel-mode caching only works for content http.sys itself can safely serve without any user-mode involvement at all -- which requires that the response for a given URL be something the kernel driver alone can determine is valid to reuse. A URL Rewrite rule's own logic (matching patterns, conditions, rewrite maps) only runs in user mode, which means the actual content that should be served for that path depends on logic http.sys cannot evaluate on its own. Since the response could, in principle, depend on rewrite logic that only exists at the user-mode layer, IIS treats that path as ineligible for kernel-mode caching and falls back to always involving the worker process -- which is exactly why every single request is reaching the application code despite a kernel-mode caching profile being configured for it. This matches the chapter's own warning box directly: URL Rewrite rules are one of the two named causes (alongside non-anonymous authentication) of kernel-mode caching silently failing to engage, with no error appearing anywhere to explain why. WHY THIS WORKS AS AN ANSWER ------------------------------ This exercise checks that the reader can apply the chapter's own named gotcha to a concrete symptom (every request reaching application code despite caching being configured) and connect it specifically to URL Rewrite's presence on that path, rather than guessing at an unrelated caching misconfiguration.