Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > ADO.NET
ADO.NET Forum d'entraide sur le développement avec les services d'accès aux données disponibles avec ADO.NET.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/12/2012, 10h43   #1
Nanais19
Membre du Club
 
Inscription : avril 2011
Messages : 225
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 225
Points : 57
Points : 57
Par défaut Transactions concurrentes en ASP.net

Bonjour,

Voilà, je découvre la gestion des transactions que je souhaite appliqué dans un site en asp.

J'aurais besoin de savoir s'il est possible d’exécuter le début d'une transaction depuis un evenement (par exemple un clique sur un bouton) et de lancer le commit de cette transaction depuis un autre événement (exemple : clique sur un bouton "valider").

D'après ce que je sais, je ne pense pas que se soit possible étant données que mon objet transaction ne sera pas sauvegarder en mémoire sur le serveur à la fin de vie du premier cycle de ma page asp.net mais au cas où je me tromperait je préfère quand même avoir votre avis.

Après si vous avez des idées de comment palier à ce problème je suis preneuse.
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 09h26   #2
Nanais19
Membre du Club
 
Inscription : avril 2011
Messages : 225
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 225
Points : 57
Points : 57
Sinon...

Après avoir retourné le problème dans tous les sens je me demande s'il n'est pas possible de gérer une transaction via un thread.

Clique sur le premier bouton : déclenchement d'un thread avec un debut de transaction qui comprend un update pour bloquer ma ligne ou un Select for update.

Clique sur le deuxieme bouton : fin du thread qui envoie un commit pour valider les opérations dans la base

En cas d'erreur dans le processus je lance un rollback.

En imaginant que dans mon thread je prévoit un timeout de 10 minutes. Si au bout de 10 minutes je n'ai pas de retour j’arrête le thread et lance aussi rollback de ma transaction.

Je n'ai presque jamais programmé de thread et encore moins en asp.net.

Si vous pouviez me donner votre avis ou si vous voyez des choses que je ne peux pas réaliser je suis a l'écoute de tous commentaires.
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 09h41   #3
youtpout978
Membre Expert
 
Homme John Doe
Développeur .NET
Inscription : novembre 2010
Messages : 902
Détails du profil
Informations personnelles :
Nom : Homme John Doe
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 902
Points : 1 439
Points : 1 439
Ton but est de valider une action en 2 étapes, si c'est le cas pourquoi ne pas faire la requête à partir de la deuxième étape.

Et pour le cycle de vie d'une page il y a des moyens de sauvegarder tes objets pour les retrouver après un postback avec au choix ViewState, Session ...
youtpout978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 10h21   #4
Nanais19
Membre du Club
 
Inscription : avril 2011
Messages : 225
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 225
Points : 57
Points : 57
Bonjour et merci de t’intéresser à mon problème.

Je veux passer en 2 étapes car ils peut se passer entre 3 et 10 minutes pour une modification. Et je veux éviter que deux personnes réfléchissent à la modification d'une même ligne.

C'est pourquoi je créé une sorte de mode "passe en mode modification" qui fait que après les autres utilisateurs on accès à cette ligne que en lecture pendant que la personne qui a bloquer la ligne réfléchisse aux modifications qu'il a besoin d'apporter.

J'ai penser au view state et tout mais ça ne marche pas car les objets "connections" ne sont pas sérializable.
Nanais19 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h57.


 
 
 
 
Partenaires

Hébergement Web