MSDTC problème avec les opérations dans ADO.NET Entity Framework

dans notre projet, nous sommes à l'aide de ADO.NET Entity Framework comme couche de données de l'application. Il y a certaines tâches qui exigent d'exécuter une transaction, car il y a beaucoup de travail à faire dans la base de données. Je suis à l'aide d'un TransactionScope pour entourer ces tâches.

using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew))
{
    //Do something...
    transactionScope.Complete();
}

Le problème est que dès que je suis en utilisant un TransactionScope une exception se produit:

Système.Les données.EntityException: Le fournisseur sous-jacent échoué sur Ouvrir. ---> Système.Des Transactions.TransactionManagerCommunicationException: la Communication avec le sous-jacent gestionnaire de transactions a échoué. ---> Système.Moment de l'exécution.InteropServices.COMException (0x80004005): Erreur HRESULT E_FAIL a été renvoyé à partir d'un appel à un composant COM.

Il semble que cette erreur a faire quelque chose avec le MSDTC (Microsoft Distributed Transaction Coordinator). Lorsque je change la configuration de la sécurité de MSDTC une autre exception est levée:

Système.Les données.EntityException: Le fournisseur sous-jacent échoué sur Ouvrir. ---> Système.Des Transactions.TransactionManagerCommunicationException: l'accès au Réseau pour la distribution de Gestionnaire de Transactions (MSDTC) a été désactivé. S'il vous plaît activer DTC pour l'accès au réseau dans la configuration de la sécurité pour MSDTC à l'aide de l'outil d'Administration Services de Composants.

Cependant MSDTC est configuré, le TransactionScope provoquera une erreur.
Est-ce que qqn sait ce qui se passe mal ici?

OriginalL'auteur Alexander | 2009-10-23