begin process at 2012 05 28 00:44:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

Divers

 > 

Autre

 > 

Patern Singleton (Limiter le nombre d'instance d'une class)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Patern Singleton (Limiter le nombre d'instance d'une class)

jeudi 23 août 2007 à 22:21:23 | Patern Singleton (Limiter le nombre d'instance d'une class)

Myke

Membre Club
Est-ce que le pattern Singleton est adéquat pour asp.net. Le fait que les thread s'execute sur le seveur et non sur une mahine physique me force à me poser quelques questions. Comme exemple est ce que chaque usager qui execute des opérations sur le serveur est dans un thread différent.

Si on applique le pattern comme dans cette exemple : webman.developpez.com/articles/dotnet/patterns/singleton/ sur une connection de base de donnés avec l'instruction  [Synclock] .Je crois que cela ne fonctionnera plus car nous bloquerons tous les thread du serveur et il y aura seulement une personne qui pourra se connecter  à la base de données en même temps. Est-ce exact ?

Myke
jeudi 23 août 2007 à 23:27:53 | Re : Patern Singleton (Limiter le nombre d'instance d'une class)

yann_lo_san

En terme non 'objet', un singleton est simplement une variable globale volatile utilisée par plusieurs processus. Volatile car il faut que les threads se mettent en file d'attente pour pouvoir l'utiliser ou la modifier. Jamais d'accès simultané dessus, d'ou les système de lock, sémaphores ect...
(classe 'Interlocked' en C#)

[Synclock] n'empèche donc pas les threads de s'exécuter, mais cette instruction leurs dit d'attendre leur tour.

Tout dépend de la portée de l'objet et de ce à quoi il sert.
C'est comme vouloir accéder à une variable private depuis n'importe où, si on applique private, c'est pour une raison vu dans l'analyse.
(Les patterns sont très bien mais ils peuvent parfois compliquer des choses simples)

vendredi 24 août 2007 à 02:48:59 | Re : Patern Singleton (Limiter le nombre d'instance d'une class)

Myke

Membre Club
Ok merci pour la réponse. Je résume comme je l'ai compris. Les dll sont partagés entre les différentes requête. Ce qui n'est pas le cas d'une application bureau car tous les DLL se trouvent sur la machine localement. Par contre en asp.net le serveur lorsque il effectue des opérations comme exemple une class (Connection à une BD) demander par deux usagers simultanément. Il  executera la premiere requete, lorsque l'opération est terminé il executera la requete du deuxieme usager. Moi je croyais que chaque utilissateur s'éxecutais dans un thread différent. Est-ce que tu peux m'en dire plus ou cela résume bien.



Myke
vendredi 24 août 2007 à 23:44:57 | Re : Patern Singleton (Limiter le nombre d'instance d'une class)

yann_lo_san

En tout cas, il n'y a qu'un seul aspnet_working_process sur le serveur et j'imagine que chaque utilisateur a son espace.
Mais pour les objets, il y a 3 portées, Application, session et local.
Donc tout dépend de l'objet utilisé.
Si la connexion est une variable application, tous les utilisateurs se la partage (une seule allocation), si elle est session, allocation à chaque utilisateur ect...

dimanche 26 août 2007 à 22:04:09 | Re : Patern Singleton (Limiter le nombre d'instance d'une class)

Myke

Membre Club
Merci pour tes réponses : J'ai trouvé une explication ici : ( [ Lien ]) - il semble que tous les thread ont accès à les même variable a moins d'apposer un lock sur le thread en cours

Myke


Cette discussion est classée dans : nombre, limiter, thread, singleton, patern


Répondre à ce message

Sujets en rapport avec ce message

comment limiter le nombre de caractere a la fin d'un email [ par billyjoe13 ] j'ai ecrit ce script tres simple avec nos notions appris en cours et je voudrais savoir comment on peut limiter le nombre de caractère a la fin d'une asp insérer un nombre décimal dans un BD [ par wjuly ] Bonjour,J'aimerais insérer dans une table un nombre décimal. Mon champ est de type float et j'utilise la fonction cdbl en asp.Voici mon instructionins requete sql [ par sticouse ] voila dans ma base de donnée j'ai un champs date de naissance et je voudrais resortir le nombre personne nait dans la meme année mais je voudrais reso LCID, ACCESS et nombre décimal [ par Oscar ] Salut à tous,J'ai un souci avec mes formats de nombres sur un serveur Anglais : Il me met un point là où je veux une virgule. Bien évidement, vous all Please Help me ...... [ par codacode ] Bonjour, voilà je suis un newbies en programmation asp, je tiens à le préciser pour que certains d'entre vous puisse m'aiguiller.Voila je mes le code [URGENT]pb de mise à jour [ par juando ] Bonjour je programme en asp.net avce vb et j'ai un probléme lors de l'ajout de composant dynamique.j'ai deux boutons qui me premette d'incrementer ou compter le nombre de caractère [ par surfingpur ] SalutEs se que quelqu'un pourrais me donner un code qui pourrais compter le nombre de caractere.Merci d'avance.Surfing-Pur nombre d'option [ par FidoDido78 ] Bonjour,J'aimerai connaitre la commande en ASP (VB et non JS) qui me permettra de connaitre le nombre d' qui existe dans ma combo .J'ai essayé maZone. Petit problème en ASP... [ par Tribute2U ] Bonjour, j'ai un petit problème, je fais la gestion d'une discothèque et je voudrai pouvoir afficher le nombre de CD total. Ce qu'il faut savoir c'est Limiter l'affichage d'un résultat de select... [ par Goofeuh ] Bonjour à tous, et oui, je viens encore vous embeter avec mes questions...comme dirait Denisot, "désolé"Alors voila, je fait une recherche dans une bd


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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 : 0,265 sec (4)

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