coulis
Messages postés121Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention24 juin 2010
-
4 oct. 2005 à 11:19
coulis
Messages postés121Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention24 juin 2010
-
4 oct. 2005 à 16:18
Bonjour
avant en asp lors de l'insertion d'une nouvelle ligne dans une base de données j'utilisais application("lock") et application("unlock") pour empécher deux personnes d'entrer deux lignes au mêm instant.
qu'en est-il en asp.net ?
De plus je partage une base de données avec plusieurs sites internet. Qu'en est-il lorsque une ligne dans la même table est insérée au même instant depuis 2 domaines différents ?
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 4 oct. 2005 à 13:36
application.lock et application.unlock existe toujours en asp.net mais
il ne sert pas pour une base de données, seulement quand tu accédes à
des variables application
application.lock()
dim truc = application("truc")
truc = toto(truc)
application("truc") = truc
application.unlock()
Moi les rares fois ou je le rencontre c'est pour ca. Pour les bases de
données, c'est ensuite ton provider sql qui gere ca ... sur ce site il
me semble pas avoir vu d'application.lock() or la bdd est appellé
plusieurs dizaine voir centaines de fois par seconde (au moins)
donc sql va mettre ca en queue et puis voila les traites les une à la suite ...
tikrimi
Messages postés192Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 9 mars 20071 4 oct. 2005 à 15:54
Kikoo,
Pour ton truc de lock, je ne savais pas qu'on pouvait faire ça en asp,
et je suis quand même septique sur le fait que ça marche vraiment (ca
doit faire parti de la boite noire MTS).
Par contre si tu travaille avec sql serveur, par defaut il pose les
bons verous, mais tu peux si tu veux lors de tes requettes en poser
d'autre pour lever ou ajouter des contraintes.
Je sais qu'il existe 6 verrous, mais j'en ai souvenir que de deux (ceux
que j'utilise) NOLOCK (qui ne pose aucun verrou) et HOLDLOCK (qui pose
un verrou jusqu'à la fin de la transaction).
Par exemple : SELECT * FROM matable WITH (NOLOCK) fait de la lecture
"sale", c'est à dire qu'il va te lire la table telle quelle (peu
importe si quelqu'un posé un verrou dessus).
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 4 oct. 2005 à 16:14
Si application.lock et unlock existe et ne sont pas dans la boite noire, mais cela sert seulement pour ecrire dans une variable application. Rien de plus.