Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementProblème variables static multi-utilisateursProblème variables static multi-utilisateurs
Précédente
 
Suivante
Nouveau message
25/07/2007 14:17
 

Bonjour à tous,

 

Je suis stagiaire avec un ami, nous participons à l’élaboration d’un intranet pour notre boite, et nous développons chacun un module en C#.

On est presque des nouveaux dans ces technologies et nous avons surement loupé quelque chose lors de la création de nos modules car ils fonctionnent en local, mais sur le serveur nous avons remarqué que les variables utilisées sont les mêmes pour TOUS les utilisateurs connectés.

 

Nos variables sont déclarées en static : de cette façon nous les conservons lorsque nous ne somme pas dans le cas (this.Page.IsPostBack). Nous les avions déclarées en private au début, puis maintenant en protected ; cela n’a rien changé.

Sur le serveur, si le nombre de workers dans le pool de connection est à 1 ; alors le problème survient. Si nous le passons à 2 en étant deux connectés sur le site, nous ne nous court-circuitons plus. Par contre un intranet n’est pas fait pour deux personnes et si nous le passons a 50 alors il devient presque impossible de faire quoique ce soit sur le site tellement il met du temps à se charger.

 

Nous avons lu rapidement des choses sur des variables de session mais ne savons pas trop comment les utiliser.

Si vous avez des solutions nous restons toute ouïe !

 

Merci d’avance

 

Elodie

 
Nouveau message
25/07/2007 14:36
 

Salut,

Les membres statiques servent effectivement à partager des données à l'échelle d'un processus. La visibilité n'influe pas sur leur portée.

Il existe plein de façons de conserver des données d'un postback à l'autre avec diverses caractéristiques.

De manière non exhaustive:  Viewstate du contrôle, Cache DotNetNuke, variable de Cookie, variable de Session, Profile de personnalisation, Profile d'identité, Module Settings, TabModule Settings, Variable API cliente DNN, controle html caché, API de Message DotNetNuke etc...

S'il s'agit juste de conserver un membre privé simple de la classe de ton contrôle, le viewstate devrait faire l'affaire (branche la propriété associée à ton membre directement sur un slot dans le viewstate (fonctionne comme un hashtable).

A+

 

 

 


Jesse
Société de conseil et de service en 
informatique et systèmes d'information
 
Nouveau message
25/07/2007 15:02
 

bah le plus simple est d'utiliser des variables de session..

Pour créer une variable de session tu fais

Session["lenomdemavariable"] =  variable que tu veux ;

par exemple Session["numcommande"] = "25639";

et pour récupérer ...

int numcommande;
numcommande = (int) HttpContext.Current.Session["numcommande"];

facile...

Aprés comme dit le collègue y'a pleins d'autres méthodes. Perso j'utilise aussi des jetons XML...

Allez courage et accrochez vous. C'est un beau métier

 
Nouveau message
25/07/2007 16:43
 

Et bien la mise en place des variables par session m'a tout l'air de fonctionner.
Nous testerons quand même avec davantage d'utilisateurs quand nous aurons le temps.

Merci beaucoup pour vos conseils.

A+

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementProblème variables static multi-utilisateursProblème variables static multi-utilisateurs