webForumDet fria alternativet

Transaktioner och WebService

.NETur .NET

5 svar · 232 visningar · startad av renholm

Medlem sedan apr. 20012 266 inlägg
Frågan#1

Hur fungerar transaktioner tillsammans med WebServices? Låt säga att jag har en funktion som anropar 3 webservices, om då den sista falerar vill jag att alla andra ska två tidigare ska återställas. Finns det inbyggda funktioner för detta eller måste man skapa egna funktioner för detta?

Medlem sedan juni 20019 024 inlägg
#2

Tänkte svara "nej, du får nog bygga själv" men så googlade jag lite:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcontransactionsupportinaspnetwebservices.asp

Medlem sedan apr. 20012 266 inlägg
#3

Kikade där men förstod inte riktigt vad som behövde göras där webservicen anropas.

MSDN skrev:

XML Web service methods can only participate in a transaction as the root of a new transaction.

Förstår det som om man bara kan köra olika transaktioner från WebMetoden, eller?

Medlem sedan juni 20022 599 inlägg
#4

Ja. Den springande punkten är kanske denna:

Artikeln skrev:

transactions do not flow across XML Web service methods.

Eftersom HTTP är ett förbindelselöst (öppnas/stängs) protokoll så låter det ju också rimligt. Det kan ju inte gärna vara praktiskt möjligt att "häva" en request man gjorde X minuter tidigare mot en IP på andra sidan jordklotet?

Medlem sedan apr. 20012 266 inlägg
#5

Precis och därför finns det ingen vettig för transactioner med WS. Det man kan göra, om något omständigt kanske är att skapa WS metoder som anropas i fall något blir fel och dessa tar bort eventullt lagrade data.

Medlem sedan juli 20011 304 inlägg
#6

Nu vet jag inte riktigt hur du ska använda dina webservicies men du kan ju alltid undersöka om du kan använda com+. Då får du transaktionshanteringen "gratis" :)
Fast det blir lite slött...

141 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
137 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)