2012-01-31 12 views
5

Domanda rapida sull'oggetto TransactionScope. Ho trovato questo su internet:TransactionScope e "risorse durevoli"

Quando si accede alla prima responsabile delle risorse durevoli, viene creata una leggera un'operazione committable per sostenere la singola transazione. Quando si accede a un secondo gestore risorse durevole, la transazione è promossa su una transazione distribuita.

Sembra soddisfacente, ma non ho capito cosa sia esattamente una "risorsa duratura". So che TransactionScope funziona solo con SQL Server 2005 e versioni successive, quindi se ho bisogno di accedere al server SQL 200, non sarà possibile? Che ne dici di un file di testo sul disco? Ho sempre sentito che non puoi avere il controllo delle transazioni quando si tratta dell'accesso al disco. Forse è diverso con questo oggetto?

Grazie!

risposta

5

This link discute le differenze tra gestori di risorse durevoli e volatili.

Giusto per chiarire - TransactionScopes funzionerà con earlier versions of SQL, tuttavia, il gestore delle transazioni leggero funziona solo per 2005+. DTC sarà richiesto per le transazioni verso SQL 2000.

C'è anche il supporto per i file system transazionali (Vista e successive) - dai uno sguardo here.

+0

buoni collegamenti, grazie :) – Diego

2

gestori delle risorse sono di due tipi

  • durevole: le transazioni sono durevoli, anche quando errori di sistema occur.Resource gestori memorizzare lo stato di una transazione. Se il sistema viene spento tra e dopo il riavvio, la transazione può procedere dal suo stato precedente. per es. SQL Server e MSMQ.
  • Volatile: non resistente ai guasti del sistema, ad es. This implementazione transazionale di alcune classi core .Net.