2010-06-12 3 views
4

Mon application Silverlight4 est hébergée dans l'application Web ASP.NET MVC 2. Je fais une requête web via la classe HttpWebRequest mais elle renvoie un résultat précédemment mis en cache. Comment désactiver ce comportement de mise en cache? Il existe des liens qui parlent de HttpWebRequest dans .NET mais Silverlight HttpWebrequest est différent. Quelqu'un a suggéré d'ajouter une chaîne de requête factice unique sur chaque demande Web, mais je préfère une solution plus élégante. J'ai aussi essayé ce qui suit, mais cela n'a pas fonctionné:Désactiver le cache dans Silverlight HttpWebRequest

_myHttpWebRequest.BeginGetRequestStream(new AsyncCallback(BeginRequest), new Guid()); 

En fait, en définissant les paramètres de l'historique du navigateur, il est possible de désactiver la mise en cache. Voir le lien suivant: ASP.NET MVC with SQL Server backend returns old data when query is executed Mais demander à un utilisateur de modifier les paramètres du navigateur n'est pas une option pour moi.

Répondre

2

La manière correcte de gérer la mise en cache consiste à ajuster la fin du serveur afin que les valeurs correctes pour les en-têtes HTTP affectant la mise en cache soient envoyées.

Par exemple, dans ASP.NET vous pouvez utiliser la propriété CacheControl sur l'objet Response

Response.CacheControl = HttpCacheability.NoCache; 
+0

Pour ASP. NET MVC réponse spécifique voir: http://stackoverflow.com/questions/1160105/asp-net-mvc-disable-browser-cache – synergetic

Questions connexes