Délai d'expiration SqlBulkCopy lorsqu'il est utilisé dans une Sercive WCF qui définit TransactionScopeRequired

c# msmq sqlbulkcopy transactionscope wcf

Question

Situation: service WCF avec TransactionScopeRequired OperationBehaviour. Le service WCF exécute un processus utilisant SqlBulkCopy pour insérer de nombreuses lignes dans une base de données.

Lorsqu'il est utilisé sans le comportement TransactionScopeRequired, SqlBulkCopy insère des enregistrements sans problème. Toutefois, lorsque ce comportement est défini sur true, aucune petite quantité d'enregistrements ne peut être insérée.

Informations complémentaires - Le service WCF utilise un noeud final MSMQ.

Réponse acceptée

ok .. Il était tard quand j'ai posté ce qui précède .. :)

Suite à une analyse plus poussée (j'ai honte d'écrire ceci ..!), Le problème était dû à la mise en oeuvre de mon service utilisant la bibliothèque de traitement des tâches - c'est-à-dire que j'avais plusieurs processus faisant des appels de base de données encapsulés dans un TransactionScope - par exemple -

-Le premier processus effectue des actions contre la base de données. Cette action ajoute une transaction à la transaction transactionscopes et a provoqué un verrouillage de la base de données.

-Le deuxième processus est ensuite généré et tente d'écrire dans la même table - il ne peut pas le faire car la transaction ne fait pas partie de la portée de la transaction d'origine.

Solution - Une nouvelle conception sera nécessaire pour offrir une gestion des transactions plus intelligente!



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi