Response.end() désactive le cache
salut,
J'ai une page qui retourne des données au format json.
Le problème c'est que J'utilise Response.end() et que du coup le cache ne fonctionne pas.
J'ai configuré le cache dans le web.config
Code:
1 2 3 4 5 6 7 8
| <system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="serviceCacheProfile" duration="30" varyByParam="mode"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching> |
page aspx
Code:
<%@ OutputCache CacheProfile="serviceCacheProfile" %>
page aspx.cs
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public void DoResponse(string xml)
{
string response = ServiceResponseUtility.WrapSuccessfulResponse(xml);
Response.ClearContent();
if (Mode == ServicePageMode.XML)
{
Response.ContentType = "application/xml";
Response.Write(response);
}
else if (Mode == ServicePageMode.JSON)
{
string json = XmlToJsonAdapter.XmlToJSON(response);
Response.ContentType = "application/json";
Response.Write(json);
}
Response.End(); // line 164
} |
Si je commente Reponse.End(), le cache fonctionne mais j'ai tous les tag html à la suite de mes données json...
Y'a t-il une méthode du cycle de vie de la page que je puisse surcharger ?
Merci d'avance pour vos conseils