Dans mon contexte, j'ai Navision impliqué, mais peut-être cela est lié à chaque scénario d'interopérabilité COM, je ne sais pas.Comment faire passer une transaction de Navision à un composant C# enregistré pour COM interop?
Quoi qu'il en soit, la situation: - J'ai un composant simple C# enregistré pour COM Interop - je l'appelle de Navision, juste avant d'insérer un nouveau record (pour qui sait Navision, à l'intérieur d'un déclencheur « OnInsert », ainsi dans le contexte d'une transaction)
Je m'attendais à avoir une transaction ambiante, mais System.Transactions.Transaction.Current est null.
Ai-je raté quelque chose? Y a-t-il des techniques particulières que je devrais adopter pour que la transaction soit transférée dans mon composant interop?
, il est pas moi qui commence la transaction. Mais je sais avec certitude que le déclencheur Navision OnInsert s'exécute dans un contexte transactionnel. L'implémentation du composant que j'exécute dans le plugin Navision est à moi: c'est un composant .Net construit pour fonctionner dans COM-Interop, et donc utilisable par le contexte Navision, c'est COM. Maintenant, d'après ce que je sais sur les transactions COM, MS DTC et .Net, je pensais que la transaction pourrait passer de Navision à mon composant .Net: mais cela n'arrive pas. – MatteoSp
Je ne pense pas que la Transaction puisse passer de NAV à votre composant ... Je pense que ça va directement de NAV à SQL mais je peux me tromper. Qu'est-ce que votre composant essaie exactement de faire? Il peut y avoir une meilleure solution que d'essayer de détourner la transaction. –