I have a single page application (angular-js) which is served through IIS. How do I prevent caching of HTML files? The solution needs to be achieved by changing content within either index.html or the web.config, as access to IIS through a management console is not possible.
Some options I am currently investigating are:
IIS is version 7.5 with .NET framework 4
Here's how... When you're in Google Chrome, click on View, then select Developer, then Developer Tools. Alternatively, you can right click on a page in Chrome, then click Inspect. Click on the Network tab, then check the box to Disable cache.
Just use the Cache-Control: no-cache header. Implement it as delegating-Handler and make sure your header is applied (with MS Owin Implementation hook up on OnSendingHeaders() .
Adding the following into web.config solution worked across Chrome, IE, Firefox, and Safari:
<?xml version="1.0" encoding="UTF-8"?> <configuration>    <location path="index.html">     <system.webServer>       <httpProtocol>         <customHeaders>           <add name="Cache-Control" value="no-cache" />         </customHeaders>       </httpProtocol>     </system.webServer>   </location>  </configuration>   This will ensure that the that Cache-Control header is set to no-cache when requesting index.html.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With