[ASP.NET] Comment désactiver le cache d'une page qui reçoit un POST?

Comment désactiver le cache d'une page qui reçoit un POST? [ASP.NET] - C#/.NET managed - Programmation

Marsh Posté le 24-11-2005 à 15:59:54    


J'ai une section sur mon site en HTTPS où j'utilise des sessions.  
Il y a un système de paiement en ligne dessus.
 
Mon problème c'est que la personne peut revenir en arrière une fois la transaction complété et je ne veux pas. Ça cause souvent des doublons de factures.  
 
J'ai lu qu'il fallait désactivé le cache (exemple) de la page.  
Dans mon cas, ça marche que d'une façon, mais pas de l'autre
 
Exemple.  

       page_du_compte.aspx ---> paiement_par_chèque.aspx --> (PostBack + Response.Redirect) --> Message_Merci.aspx


Ça fonctionne dans ce cas ci, si je clique sur back, la page paiement_par_chèque.aspx ne réapparait pas.
 

       page_du_compte.aspx ---> paiement_par_carte_credit --> (PostBack + Server.Transfer) --> info_carte_credit.aspx --> (PostBack + Server.Transfer) --> Message_Merci.aspx


Dans ce cas ci, cela ne fonctionne pas, si je clique pas, il demande si je veux reposter les données. Si je clique oui, je me retrouve sur la page info_carte_credit.aspx.
 
Alors comment éviter ça ?
 
 
 

Reply

Marsh Posté le 24-11-2005 à 15:59:54   

Reply

Marsh Posté le 30-11-2005 à 16:34:36    

Evite les sessions pour ce genre de chose....

Reply

Marsh Posté le 03-12-2005 à 12:05:12    

pourquoi n'imaginerais tu pas de détruire toi même la session une fois enregistrer. A priori, si tes pages sont bien faite, la page devrait t'envoyer peter voyant qu'il n'y a pas de variable de session... Au pire, suffirait de supprimer une des informations de la session... C'est pas une mauvaise solution à mon avis...

Reply

Marsh Posté le 03-12-2005 à 19:33:12    

moi23372 : c'est ce que j'ai fait ;)
Finalement mon problème avec le cache , c'était mon Server.Transfer car il ne repasse pas par client pour faire la direction, mais là c'est ok !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed