J'ai 2 linq 2 instructions SQL Je voudrais être dans une transaction (le serveur SQL est distant, à l'extérieur des pare-feu, etc.) tous les autres travaux de communication, mais quand je enveloppe ces 2 déclarations dans un TransactionScope() avoir à configurer MSDTC ce que nous avons fait, mais il y a des problèmes de pare-feu (je pense) est-il un moyen plus simple?Transactions simples
les bases de ce que je veux faire bouillir à ceci: (les deux sont stockés procs sous le capot)
using (var transactionScope = new TransactionScope())
{
Repository.DataContext.SubmitChanges();
Repository.DataContext.spDoFinalStuff(tempID, ref finalId);
transactionScope.Complete();
}
Quelle est la façon la plus simple pour y parvenir?
EDIT:
J'ai d'abord ceci: Le gestionnaire de transactions a désactivé son soutien pour les transactions à distance/réseau. (Exception de HRESULT: 0x8004D024) Sur nos serveurs j'ai suivi les instructions here pour corriger ceci. Cependant, les instructions ne semblent pas s'appliquer à Windows 7 (ma boîte de dev) voir mon commentaire sur la réponse ci-dessus. Après avoir corrigé le problème (sur les boîtes non win7) je reçois ceci: La transaction a déjà été implicitement ou explicitement validée ou annulée (Exception de HRESULT: 0x8004D00E) dont certains googling suggested peut être un problème de pare-feu.
EDIT
Je viens de découvrir la DB à distance est SQL 2000
ahhh Je viens de découvrir que le serveur distant utilise SQL 2000 – Myster