existe-t-il une alternative à transactionScope qui ne nécessite pas d’activer le DTC? Dans la transaction, je dois effectuer deux opérations: Créer un utilisateur (à l’aide de l’appartenance – fournisseur d’adhésion SQL) Effectuez une opération d’insertion.
Si vous avez quelque chose comme ça: IBinaryAssetStructureRepository rep = new BinaryAssetStructureRepository(); var userDto = new UserDto { id = 3345 }; var dto = new BinaryAssetBranchNodeDto(“name”, userDto, userDto); using (var scope1 = new TransactionScope()) { using(var scope2 = new TransactionScope()) { //Persist to database rep.CreateRoot(dto, 1, false); scope2.Complete(); } scope1.Dispose(); } dto = rep.GetByKey(dto.id, […]
Est-il possible d’avoir une hiérarchie d’étendues de transaction? Si la scope de la transaction externe est éliminée, qu’adviendra-t-il des modifications apscopes à la scope de la transaction interne? Mon problème particulier est que j’ai un code de test qui exécute un code ayant une scope de transaction. Lorsque j’appelle un deuxième ensemble de code avec […]
J’ai plusieurs méthodes de code qui ressemblent à ceci: using (var connection = this.connectionFactory.GetConnection()) { connection.Open(); using (var transaction = connection.BeginTransaction()) { using (var command = connection.CreateCommand()) { command.Transaction = transaction; command.CommandText = “foo”; command.ExecuteNonQuery(); transaction.Commit(); } } } Je dois maintenant appeler plusieurs de ces méthodes ensemble dans une transaction externe. J’ai donc fait […]
J’essaie de créer un “gestionnaire de ressources” personnalisé en implémentant l’interface IEnlistmentNotification . Cette interface a les méthodes suivantes: Préparer() Commettre() Retour en arrière () Dans le doute() Bien qu’il soit clair que le code de retour arrière doive être placé dans la méthode Rollback (), je ne sais pas quelle méthode dois-je implémenter le […]
J’ai un code comme celui-ci: try { using (TransactionScope scope = new TransactionScope()) { some_db_function(); for (i = 0; i < 10; i++) { some_other_db_function(); } scope.Complete(); } } catch (Exception ex) { MessageBox.Show(ex.Message + " all done transactions will rollback"); } et à l’intérieur des fonctions de firebase database quelque chose comme ceci se […]
J’utilise TransactionScope pour effectuer des insertions par lots et des mises à jour. Le problème, c’est que je reçois des exceptions de délai d’expiration pour une opération de 30 minutes même lorsque je règle le délai d’expiration du TransactionScope sur une heure. Également après l’exception, il insère une quantité apparemment aléatoire des enregistrements du lot. […]
Lorsque nous avons besoin d’accéder à la firebase database dans notre application, nous utilisons les modèles suivants: Pour l’interrogation, nous avons une classe de fabrique statique avec une méthode CreateOpenConnection qui ne fait rien de plus que de new SqlConnection(myConnectionSsortingng) et appelle Open() dessus. Cette méthode est appelée avant d’effectuer une requête et la connexion […]
scope.Complete(); ce comportement étrange dans lequel la transaction est scope.Complete(); uniquement lorsque l’ using scope.Complete(); et non lors de l’appel de scope.Complete(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.RequiresNew)) { scope.Complete(); // data still doesn’t show in db } // now shows in db Comment puis-je valider la transaction avant de quitter l’instruction using ?
Nous avons quelques problèmes à comprendre comment utiliser au mieux NHibernate. Nous avons généralement un nombre relativement important de bases de données SQL Server assez petites (en termes de nombre de tables) plutôt qu’une firebase database avec beaucoup d’objects. Nous examinons diverses options pour gérer des usines à sessions multiples et l’avons probablement sous contrôle. […]