IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

Appel à une transaction dans un webservice


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut Appel à une transaction dans un webservice
    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 ?

  2. #2
    Membre très actif
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 250
    Par défaut
    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).

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    mais si c'est 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).
    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.


    => 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

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    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.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2004
    Messages : 99
    Par défaut
    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

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    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

Discussions similaires

  1. appeller une méthode dans le nom est dans un String
    Par fxjtarga dans le forum Langage
    Réponses: 2
    Dernier message: 24/02/2006, 16h06
  2. demarrer une transaction dans une procedure stockee
    Par richard038 dans le forum SQL
    Réponses: 1
    Dernier message: 04/11/2005, 13h09
  3. Appeler une fonction dans un autre cadre !
    Par rich25200 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/11/2005, 13h01
  4. Réponses: 7
    Dernier message: 10/09/2005, 16h49
  5. appeller une Vue dans un Select
    Par DR. dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/12/2004, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo