Je viens de lire a fantastic article sur les transactions et le flux WCF. Quasiment ne m'a laissé une question sans réponse:Comment appliquer des contrats de flux de transactions WCF avec deux services dans le même projet?
J'ai un seul projet avec deux méthodes de service définies:
ServiceA.svc
[OperationBehavior(TransactionScopeRequired = true)]
OperationA()
ServiceB.svc
[OperationBehavior(TransactionScopeRequired = true)]
OperationB()
OperationA()
a besoin d'appeler OperationB()
.
Je pourrais facilement dire simplement new ServiceB().OperationB(...)
à l'intérieur ServiceA
(rappelez-vous je l'ai dit qu'ils sont dans le même projet Web en cours d'exécution sur le même serveur.
Au début, je pensais que c'est ce que je ferais, mais je suis Je ne sais pas si toutes les transactions seront foirées ou pas - surtout si les contrats de transaction diffèrent entre les deux opérations.Evidemment, si j'accède à Transaction.Current
de OperationB
alors il existera, mais si les deux opérations avaient des contrats différents (comme décrit dans l'article référencé) les règles ne seraient pas suivies
Quel est le bon w ay ServiceA.OperationA()
pour appeler ServiceB.OperationB()
?
(Curieux aussi comment faire quand une opération appelle un autre dans la même classe, mais c'est probablement une chose plus facile à Google pour)
c'est ce que je cherchais merci. J'ai un livre WCF sur mon Kindle mais sa peine de trouver des trucs comme ça. ps. Je suis en hausse de 30% par rapport à la dernière fois que vous l'avez mentionné :-) –