I just discovered that calling Response.End in an ASP.NET page will interfere with page output caching — it’ll cause the page to not be cached.

Resolving this issue is as simple as removing the call to Response.End or Response.Flush.