public void DoNotDeadlockOnAfterTransactionWait()
        {
            var interceptor = new AfterTransactionWaitingInterceptor();

            using (var s = WithOptions().Interceptor(interceptor).OpenSession())
                using (var tx = new TransactionScope())
                {
                    if (!AutoJoinTransaction)
                    {
                        s.JoinTransaction();
                    }
                    s.Save(new Person());

                    s.Flush();
                    tx.Complete();
                }
            Assert.That(interceptor.Exception, Is.Null);
        }
示例#2
0
        public async Task DoNotDeadlockOnAfterTransactionWaitAsync()
        {
            var interceptor = new AfterTransactionWaitingInterceptor();

            using (var s = WithOptions().Interceptor(interceptor).OpenSession())
                using (var tx = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
                {
                    if (!AutoJoinTransaction)
                    {
                        s.JoinTransaction();
                    }
                    await(s.SaveAsync(new Person()));

                    await(s.FlushAsync());
                    tx.Complete();
                }
            Assert.That(interceptor.Exception, Is.Null);
        }