begin process at 2012 05 27 07:05:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > METTRE EN CACHE SUIVANT UN PARAMÈTRE PERSONALISÉ

METTRE EN CACHE SUIVANT UN PARAMÈTRE PERSONALISÉ


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Source .NET ( DotNet ) Classé sous :cache, outputcache, varybycontrol, getvarybycustomstring, session Niveau :Débutant Date de création :16/10/2005 Date de mise à jour :21/11/2005 19:30:17 Vu :16 343

Auteur : jesusonline

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note


 Description

Pour mettre en cache une page web, ou un contrôle utilisateur, on utilise la directive de page @outputcache

==> http://msdn.microsoft.com/library/fre/default.asp? url=/library/FRE/cpgenref/html/cpconOutputCache.as p

On peut avoir plusieurs caches différents. En spécifiant des valeurs pour varybycontrol : le cache change suivant un UC de la page pour varybyparam : le cache change en fonction d'un paramètre contenu dans la requete (via post ou get)

Mais comment faire varier le cache en fonction d'un autre paramètre, tel qu'une variable session, ou l'adresse du site ... en utilisant varybycustom.

Dans cet exemple je vous montre comment changer le cache suivant une variable session.



Tout d'abord il faut mettre la directive page et renseigner par quelle valeur personalisé on veut que le cache varie, dans notre cas la variable s'appelle langue.
<%@outputCache duration="120" varybyparam="" varybyCustom="langue" %>


Ensuite on surcharge GetVaryByCustomString du global.asax et c'est là qu'on donne une valeur pour la variable langue

Source

  • <%@outputCache duration="120" varybyparam="" varybyCustom="langue" %>
  • dans le global.asax
  • Public Overrides Function GetVaryByCustomString(ByVal context As System.Web.HttpContext, ByVal custom As String) As String
  • If custom = "langue" Then
  • Return CStr(Session("langue"))
  • End If
  • End Function
<%@outputCache duration="120" varybyparam="" varybyCustom="langue" %>

dans le global.asax 

    Public Overrides Function GetVaryByCustomString(ByVal context As System.Web.HttpContext, ByVal custom As String) As String
        If custom = "langue" Then
            Return CStr(Session("langue"))
        End If
    End Function

 Conclusion

Il n'y a rien de compliqué, c'est juste une astuce à savoir :)




 Historique

21 novembre 2005 19:30:17 :
mots clés

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) ASP.NET - SAVOIR QUAND L'UTILISATEUR FERME LA FENETRE VIA CA... par werdDomain
CLASSE IMBRIQUÉS EN VBSCRIPT DE DOSSIERS (APPLICABLE ASP) par internetdev
Source avec Zip SÉRIALISER / DÉSÉRIALISER DES VARIABLES EN ASP par lejdu
CREATION D'UN AUTOCOMPLETE JQUERY AVEC UN CODE SOURCE ASP ET... par dedebis84
Source .NET (Dotnet) RÉCUPÉRER DES VALEURS D'UNE LIGNE DANS UN DATAGRID APRÈS AVO... par PascalCmoa

 Sources en rapport avec celle ci

Source .NET (Dotnet) ATTENTION PROBLÈME DE DEFAULTVIEW DE DATATABLE par Coolpix08
Source .NET (Dotnet) ASP.NET - PROCÉDURE PERMETTANT DE NE PAS AVOIR DE CACHE CÔTÉ... par fabrice69
Source avec Zip AUTHENTIFICATION D'UTILISATEURS AVEC BASE DE DONNÉES par Nurgle
Source avec Zip Source .NET (Dotnet) UTILISATION DE L'OBJET CACHE (BIEN UTILE!! :OD) par ivanoff1
COMPTEUR DE VISITE AVEC VARIABLE DE SESSION par tidave

Commentaires et avis

Commentaire de sebmafate le 17/10/2005 09:23:20 administrateur CS

le duration="120"... c'est 120 quoi :D

Commentaire de jesusonline le 17/10/2005 10:03:03 administrateur CS

la propriété duration est en secondes :)

donc dans ce cas, le cache dure 2min (120sec)

Commentaire de sebmafate le 17/10/2005 10:13:02 administrateur CS

mouarf... j'm'en doutais... :p

seb... guignol de service...

Commentaire de Alexis35 le 02/05/2011 11:55:18

Bonjour, ce code m'interresse grandement malheureusement j'ai un message d'erreur avec ce code  :  "État de session non disponible dans ce contexte."

Et si je remplace Session("langue") par System.Web.HttpContext.Current.Session("langue") il me dit que ca a la valeur NULL, alors que je l'initialise bien dans mon load de ma page...

Une idée?

Merci beaucoup d'avance!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

méthodes mise en cache & vars session ??? [ par shitboypark ] BOnjour, 2 ptites question...&nbsp; 1/&nbsp; mise en cache:&nbsp;&nbsp;&nbsp; j'ai lu des trucs sur le cache en asp.net...&nbsp;&nbsp;&nbsp; mais en g Session ou cache ? [ par Thanos_the_yopper ] C'est sans doute très con comme question, mais je me demandais qu'elle était la différence fondamentale entre mettre des variables en session et en ca requête à paramètres facultatifs [ par sev622 ] bonjour,&nbsp;j'ai un petit probl&#232;me pour une requ&#234;teJe voudrais faire en sorte que si une variable de session&nbsp;existe, sa valeur sert c Session ASP plusieurs pages [ par Frank19 ] Bonjour, ma session asp r&#233;agit de facon &#233;trange. Je cr&#233;er une variable de session dans la premiere page et la variable se garde dans ce j'ai besoin que vous m'aidiez [ par amer_ezahir ] salut les amis ;j'esp&#232;re que vous &#234;tes tous en bonne sant&#233; et joie; j'ai un probl&#232;me et je n'ai que vous qui peuvent m'aider ; mon Login et Password [ par timmzzz2904 ] hello, g &#231;a comme code mais pour un pass unique.&lt;%Response.Expires = 0Response.Expiresabsolute = Now() - 1Response.AddHeader "pragma","no-cach Convertir le type de données d'une colonne [ par Bugs_Bunny ] Bonjour,&nbsp;&nbsp;&nbsp;j'ai ce bout de code me permettant de me brancher a SQL pour ensuite remplir mon dataset. Comme je ne sais pas d'avance le g Cookieless du Web.Config [ par Abdi075 ] salut à tous, voila je développe en C# asp.Net une application de vente en ligne. et j'utilise des cookies pour gérer le panier. Voila ce que je voudr passer un objet d une page a l autre [ par dufoli ] Bonjour, J ' ai un gros soucis j explique tout car si ca se trouve il existe d autre methode pour resoudre ce probleme. J'ai une application qui a des Firefox / variables de session [ par goldenn ] Bonjour&nbsp;&#224; tous. J'ai un site qui fonctionne sous IIs 5.0 developp&#233; en asp/vbscript.Ce site utilise des varaibles de session, et d'appli


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,669 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales