Czy jest gdzieś klasa, która umożliwia wycofanie z transactioncope na lazurowe akcje blockblob?C# Azure Storage Blob Przesyłanie TransactionScope
Chciałbym uczynić to działa:
CloudBlockBlob blockBlob;
private void UploadPicture(Stream iStream)
{
using(var ts = new TransactionScope())
{
blockBlob.UploadFromStream(iStream);
throw new Exception();
ts.Complete();
}
}
Kiedy wyjątek jest podnieść, przesłany plik nie został odwołany. Jeśli nie jest to możliwe z zakresem transakcji, jak mam postąpić?
co próbujesz osiągnąć? Czy celem jest uczynienie z atomowego przesłania, aby całe przesłanie zakończyło się sukcesem, czy nic się nie stało? Jak duży jest twój blob? –
@ AtulSikaria-MSFT Tak Próbuję zrobić ładowanie atomowe z jego metadanymi w mojej bazie danych. Jeśli coś pójdzie nie tak, mogę wycofać. Maksymalny rozmiar obiektu typu blob to 5 miesięcy. – Julian50
W takim przypadku nie powinieneś potrzebować transakcji zwiniętej wokół aktualizacji. Aktualizacje obiektów typu blob są atomowe. Nawet jeśli bloby są przesyłane w porcjach, jest to ostatnia prośba PutBlockList, która zatwierdza obiekt typu blob, który powinien być atomowy. –