2010-11-05 5 views
0

J'ai un WebMethod que recives HTML comme paramètre somthing comme ceci:images WebMethod Caches ne pas entrer gestionnaire

Public Function ConvertHtmlToPdfListAnswer(ByVal dokument As Dokument) As Byte() 

Dans ce HTML mon chemin à par exemple la signature de l'utilisateur ressemble à ceci:

Handlers/SzablonyListImgHandler.ashx?usid=2006 

Mon gestionnaire commence comme ceci:

Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest 

et il prend le paramètre du contexte, crée quer y pour databese et retourne flux de sortie comme ceci:

If Not String.IsNullOrEmpty(context.Request.QueryString("usid")) Then 
... 
... 
streamOut.WriteTo(context.Response.OutputStream) 

Mon problème est qu'il se déclenche onle une fois ... ce que je veux dire est que quand je l'appelle à nouveau le service, il ne pénètre pas dans le gestionnaire, mais il montre déjà moi l'image quand je vérifie le HTML dans la vue de débogueur. Ainsi, lorsque l'utilisateur change sa signature dans la base de données, la méthode de service renvoie toujours la précédente ... Je pense que cela pourrait être une sorte de problème de chache ... Des idées?

Répondre

1

oui c'est le problème de cache, le navigateur met en cache le résultat du gestionnaire et lorsque vous appelez à nouveau le gestionnaire, le navigateur renvoie le résultat mis en cache.

pour empêcher la mise en cache, vous devez configurer dans le gestionnaire avant de vous écrire flux à context.Response.OutputStream

context.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
+0

Grande qui m'a sauvé: D Merci m8: D – shin

+0

toujours le bienvenu :) –

+0

envisager de marquer cette question comme une réponse. merci :) –

Questions connexes