Je rencontre des problèmes pour que AppendHeader fonctionne correctement si j'utilise également un filtre d'autorisation. J'utilise un filtre d'action pour mes actions AJAX qui applique Expires, Last-Modified, Cache-Control et Pragma (bien que pendant le test, j'ai essayé de l'inclure dans la méthode d'action elle-même sans changer les résultats).ASP.net AppendHeader ne fonctionne pas dans ASP MVC
Si je n'ai pas de filtre d'autorisation, les en-têtes fonctionnent correctement. Une fois que j'ajoute le filtre, les en-têtes que j'ai essayé d'ajouter sont déshabillés.
Les en-têtes Je veux ajouter
Response.AppendHeader("Expires", "Sun, 19 Nov 1978 05:00:00 GMT"); Response.AppendHeader("Last-Modified", String.Format("{0:r}", DateTime.Now)); Response.AppendHeader("Cache-Control", "no-store, no-cache, must-revalidate"); Response.AppendHeader("Cache-Control", "post-check=0, pre-check=0"); Response.AppendHeader("Pragma", "no-cache");
Un exemple des en-têtes d'une page correcte:
Server ASP.NET Development Server/9.0.0.0 Date Mon, 14 Jun 2010 17:22:24 GMT X-AspNet-Version 2.0.50727 X-AspNetMvc-Version 2.0 Pragma no-cache Expires Sun, 19 Nov 1978 05:00:00 GMT Last-Modified Mon, 14 Jun 2010 18:22:24 GMT Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Content-Type text/html; charset=utf-8 Content-Length 352 Connection Close
Et d'une page incorrecte:
Server ASP.NET Development Server/9.0.0.0 Date Mon, 14 Jun 2010 17:27:34 GMT X-AspNet-Version 2.0.50727 X-AspNetMvc-Version 2.0 Pragma no-cache, no-cache Cache-Control private, s-maxage=0 Content-Type text/html; charset=utf-8 Content-Length 4937 Connection Close
Il a travaillé, mais pourquoi l'aide un attribut authorize remplace-t-il mon utilisation des en-têtes quand cela fonctionnait bien sans cela? – Chao
@Chao Voir mon édition – Gregoire