webForumDet fria alternativet

Distribuerade transactioner

.NET

1 svar · 270 visningar · startad av natas

Medlem sedan juli 200568 inlägg
Frågan#1

Hej.

Vid transactioner vid SQL Server anrop använder man command objectet och sätter en SqlTransaction med hjälp av connection objectet på den, och sen Commitar man om alla ExecuteNonQuery():s blev gjorda utan fel, och om det gick åt helvete så Rollback:ar man.. Visst, allt grönt på den fronten.. Men så kommer vi till Distribuerade transactioner som kanske kan spänner över 1 SQL Server anrop, 2 olika webservice anrop, och om 1 av dessa anrop går åt fanders ska allihopa rollbackas både SQL Server och webservice:arna... Så hur gör man egentligen distruberade transactioner och hur funkar de tillsammans med web services?, ska man skapa en metod på varje webservice som heter typ "RollbackInsertCustomer(Customer c)", eller hur hänger det ihop egentligen?. Jag är helt ny på distribuerade transactioner.

OBS .NET2.0 tack :bire

Medlem sedan maj 20012 812 inlägg
#2

OBS .NET2.0 tack

Vad du glad för det, annars hade det blivit lite mer komplicerat med COM+ osv osv..

i .NET 2.0 finns en ny klass som heter System.Transaction som gör precis det du vill. Läs på om den så löser det sig väldigt enkelt...

- M

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)