Bonjour,
j'ai une petite question: est-il possible d'exécuter une transaction dans une fonction du webservice et faire appel à une autre fonction du webservice pour le commit ou le rollback ?
Bonjour,
j'ai une petite question: est-il possible d'exécuter une transaction dans une fonction du webservice et faire appel à une autre fonction du webservice pour le commit ou le rollback ?
Bonjour,
si je comprends, bien ce que tu souhaites c'est que ta Webservice stocke des données temporairement, et comme je débute dans ce domain, d'après ce que j'ai pû voir ce n'est pas possible.
Il me semble qu'une solution possible soit que ta Webservice écrive les données dans un fichier local et qu'une autre fonction s'occupe de ces données (commit + delete du fichier par exemple).
mais si c'est possible
je te conseille de ne jamais utiliser une méthode du genre. le lock par fichier, c'est à proscire dans 100% des cas, ca ne peut jamais être fiable et surtout, dans notre cas, tu ne pourrais pas encadrer une transaction avec un begin dans une methode et un commit dans une autre.Il me semble qu'une solution possible soit que ta Webservice écrive les données dans un fichier local et qu'une autre fonction s'occupe de ces données (commit + delete du fichier par exemple).
=> http://msdn.microsoft.com/fr-fr/libr...on(VS.80).aspx
par contre ce n'est pas au webservice de faire le commit/rollback. c'est au client qui va appeler les N méthodes. (ce client pourrait etre une troisieme methode du webservice!!)
je te laisse faire les recherches plus approfondies sur le sujet, Google pullule de codes pour cette problématique
Merci Louis-Guillaume, Julien_G pour vos réponses,
je reviens à mon post pour donner plus de détail, en fait je veux appeller le web service pour exécuter la fonction1, celle ci construit un objet . à l'issu de traitement je dois appeler le web service une 2ème fois (fonction2) pour sauvegarder l'objet dans la BD.
sachant que je n'utilise pas les sessions dans le web service, j'ai pas un moyen de passer l'objet 1 de la fonction1 du web service à la fonction2.
ma question était : est-il possible que la fonction1 execute la requête de sauvegarde alors que la fonction2 fait un commit ou un rollback.
Sinon, si j'ai bien compris la propriété 'WebMethodAttribute.TransactionOption' ne permet de gérer les transactions que dans la fonction elle même et non pas dans deux fonctions séparées.
Bonjour,
Je suis en train de regarder les transactions pour les webservices, mais côté Java et je ne connais pas C#. Les standards devraient être les même mais ils sont peut être masqués par le framework microsoft:
WS Atomic Transaction
WS Coordination
http://download.boulder.ibm.com/ibmd...ransaction.pdf
http://www.ws-standards.com/ws-atomictransaction.asp
Si c'est un service WCF, les sessions peuvent aussi te permettre de faire ça (en stockant la transaction dans un attribut). Mais j'ai une préférence pour la solution de Louis-Guillaume.
Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.
Bonnes pratiques pour les accès aux données
Débogage efficace en .NET
LINQ to Objects : l'envers du décor
Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter
Partager