Powód, dla którego operacje są wykonywane (tj. dane były nadal wstawiane po przerwaniu), ponieważ operacje nie są zawarte w sesji transakcyjnej.
Wszystkie operacje CRUD powinny mieć przeciążone metody, które określają IClientSessionHandle
jako pierwszy argument. Na przykład:
Task InsertOneAsync(IClientSessionHandle session, TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = default(CancellationToken));
Zobacz:InsertOneAsync i ReplaceOneAsync w sterowniku MongoDB .NET/C# v2.8.1.
Aby upewnić się, że operacje są zawarte w sesji transakcyjnej, przekaż sesję jako argument do operacji CRUD. Wszelkie operacje, które nie mają obiektu sesji, zostaną wykonane poza sesją.