本文整理汇总了C#中Spring.Transaction.Support.DefaultTransactionStatus.ReleaseHeldSavepoint方法的典型用法代码示例。如果您正苦于以下问题:C# DefaultTransactionStatus.ReleaseHeldSavepoint方法的具体用法?C# DefaultTransactionStatus.ReleaseHeldSavepoint怎么用?C# DefaultTransactionStatus.ReleaseHeldSavepoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spring.Transaction.Support.DefaultTransactionStatus
的用法示例。
在下文中一共展示了DefaultTransactionStatus.ReleaseHeldSavepoint方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReleaseHeldSavepointSuccess
public void ReleaseHeldSavepointSuccess()
{
ISavepointManager saveMgr = MockRepository.GenerateMock<ISavepointManager>();
string savepoint = "savepoint";
DefaultTransactionStatus status = new DefaultTransactionStatus(saveMgr, true, false, false, true, new object());
status.CreateAndHoldSavepoint(savepoint);
Assert.IsTrue(status.HasSavepoint);
Assert.AreEqual(savepoint, status.Savepoint);
status.ReleaseHeldSavepoint();
saveMgr.AssertWasCalled(x => x.CreateSavepoint(savepoint));
saveMgr.AssertWasCalled(x => x.ReleaseSavepoint(savepoint));
}
示例2: ReleaseHeldSavepointException
public void ReleaseHeldSavepointException()
{
ISmartTransactionObject transaction = MockRepository.GenerateMock<ISmartTransactionObject>();
DefaultTransactionStatus stat = new DefaultTransactionStatus(transaction, true, false, false, true, new object());
stat.ReleaseHeldSavepoint();
}
示例3: ReleaseHeldSavepointSuccess
public void ReleaseHeldSavepointSuccess()
{
MyMockTxnObjectSavepointMgr saveMgr = new MyMockTxnObjectSavepointMgr();
string savepoint = "savepoint";
saveMgr.SetExpectedSavepoint( savepoint );
saveMgr.SetSavepointToReturn( savepoint );
DefaultTransactionStatus status = new DefaultTransactionStatus( saveMgr , true, false, false, true, new object());
status.CreateAndHoldSavepoint( savepoint );
Assert.IsTrue( status.HasSavepoint );
Assert.AreEqual( savepoint, status.Savepoint );
status.ReleaseHeldSavepoint();
saveMgr.Verify();
}
示例4: ProcessCommit
private void ProcessCommit(DefaultTransactionStatus status)
{
try
{
bool beforeCompletionInvoked = false;
try
{
TriggerBeforeCommit(status);
TriggerBeforeCompletion(status);
beforeCompletionInvoked = true;
bool globalRollbackOnly = false;
if (status.IsNewTransaction || FailEarlyOnGlobalRollbackOnly)
{
globalRollbackOnly = status.GlobalRollbackOnly;
}
if (status.HasSavepoint)
{
status.ReleaseHeldSavepoint();
}
else if (status.IsNewTransaction)
{
DoCommit(status);
}
// Throw UnexpectedRollbackException if we have a global rollback-only
// marker but still didn't get a corresponding exception from commit.
if (globalRollbackOnly)
{
throw new UnexpectedRollbackException(
"Transaction silently rolled back because it has been marked as rollback-only");
}
}
catch (UnexpectedRollbackException)
{
TriggerAfterCompletion(status, TransactionSynchronizationStatus.Rolledback);
throw;
}
catch (TransactionException ex)
{
if (RollbackOnCommitFailure)
{
DoRollbackOnCommitException(status, ex);
}
else
{
TriggerAfterCompletion(status, TransactionSynchronizationStatus.Unknown);
}
throw;
}
catch (Exception ex)
{
if (!beforeCompletionInvoked)
{
TriggerBeforeCompletion(status);
}
DoRollbackOnCommitException(status, ex);
throw;
}
// Trigger AfterCommit callbacks, with an exception thrown there
// propagated to callers but the transaction still considered as commited.
try
{
TriggerAfterCommit(status);
}
finally
{
TriggerAfterCompletion(status, TransactionSynchronizationStatus.Committed);
}
}
finally
{
CleanupAfterCompletion(status);
}
}
示例5: ReleaseHeldSavepointException
public void ReleaseHeldSavepointException()
{
DefaultTransactionStatus stat = new DefaultTransactionStatus( new MyMockTxnObject(), true, false, false, true, new object() );
stat.ReleaseHeldSavepoint();
}