2012-03-29 4 views
5

Basta leggere su TransactionScope implementations.Come funziona un'implementazione TransactionScope? Quale supporto per database è richiesto?

Qualcuno potrebbe confermare se questa tecnica è guidata dal lato client .net o se richiede qualcosa di speciale da specifici fornitori DB? È una cosa solo di SQL Server?

+0

Almeno per un TS non distribuito (e non annidato) sono solo le informazioni sulle transazioni locali del thread che vengono automaticamente impostate per i comandi, ecc. Non è mai del tutto sicuro come funzionano gli ambiti nidificati/distribuiti ... potrebbe essere necessario concentrarsi su un aspetto * * specifico di TS, perché anche DTC non è disponibile in tutti i livelli di isolamento di SQL Server. –

+0

@pst: cosa intendi per non nidificato. come una transazione a un livello? Segnano/interrogano il thread in qualche modo per scoprire se c'è una transazione esistente in gioco? – sgtz

+0

Bene, è tutto fatto con le informazioni locali del thread (per gestire lo scope dinamico), ma sono stato io a coprire le mie scommesse - non tutti i database supportano transazioni nestable, per esempio. –

risposta

1

Se la domanda include anche fornitori RDBMS, SQL Server Compact lo supporta e così anche Oracle.

+0

Dovrei concentrare la domanda un po 'di più. Sono interessato a chi lo implementa, ma soprattutto all'implementazione. Ad esempio, è difficile eseguire il reterofit di un DBMS che non implementa (se effettivamente è un pensiero specifico del DBMS). La documentazione MS che ho visto finora è abbastanza blanda su questo argomento. – sgtz