En el contexto de servicio web (Apies y demás) esto de caching es mas bien una funcionalidad, pero en ocasiones como las que he pasado usando Dotnet apps o framework es que cachean mucho y la información que recibo pues no es fresca o en el peor de los casos es invalida.
Existen varias formas de como evitar esto del cacheo unas cuantas generales aplicables para cualquier plataforma y otras específicamente para C# (Con código C# pero igual aplicable para otras tecnologias).
Evitar cach
Opción #1
Una forma para evitarlo es agregar un numero random a nuestra URL cosa de que siempre se estará realizando un request nuevo.
Digamos que nuestra url es «http://54.90.146.118/» cada request que hagamos posiblemente nos retornara lo mismo por que inteligente mente nuestra libreria pensara «es la misma url, deja retornar el mismo resultado y que se vea super rapido» esto podría ser util si y solo si el contenido no va a cambiar.
Para solucionar esto seria algo como esto
C#
String url = "http://54.90.146.118/?randomName=" + Guid.NewGuid().ToString();
Javascript
var url = "http://54.90.146.118/?randomName=" +(Math.random() * 1000000).toString()
Opción #2
En el caso de que esten usando HttpRequestMessage para solucionarlo seria agregando el header IfModifiedSince junto con una fecha (Digamos la fecha actual)
C#
HttpRequestMessage request = ... request.Headers.IfModifiedSince = new DateTimeOffset(DateTime.Now); // Se puede agregar directamente al HTTPClient HttpClient client = ... client.DefaultRequestHeaders.IfModifiedSince
Bueno hasta aqui este mini-post de como evitar ese cach, me surgió la idea de hacerlo por que me enfrente a el en estos ultimo dias y habia olvidado estas maravillas de Dotnet, me hicieron recordar en los principios de AJAX y HTTP Request object era necesario realizar esto si o si, de lo contrario Internet explorer retornaba la misma información ehehehhe.