本文整理汇总了C#中System.Transactions.Enlistment类的典型用法代码示例。如果您正苦于以下问题:C# Enlistment类的具体用法?C# Enlistment怎么用?C# Enlistment使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Enlistment类属于System.Transactions命名空间,在下文中一共展示了Enlistment类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Commit
public void Commit(Enlistment enlistment)
{
try
{
assertNotDisposed();
logger.DebugFormat("Committing enlistment with id: {0}", Id);
queueStorage.Global(actions =>
{
actions.RemoveReversalsMoveCompletedMessagesAndFinishSubQueueMove(Id);
actions.MarkAsReadyToSend(Id);
actions.DeleteRecoveryInformation(Id);
actions.Commit();
});
enlistment.Done();
logger.DebugFormat("Commited enlistment with id: {0}", Id);
}
catch (Exception e)
{
logger.Warn("Failed to commit enlistment " + Id, e);
throw;
}
finally
{
onCompelete();
}
}
示例2: Rollback
public void Rollback(Enlistment enlistment)
{
container.Rollback();
container.Ext().Refresh(oldItem, int.MaxValue);
oldItem = null;
container = null;
}
示例3: Commit
public void Commit(Enlistment enlistment)
{
if (_ThrowIt)
Assert.Fail("commit is never called if prepare failed");
enlistment.Done();
}
示例4: InDoubt
public void InDoubt(Enlistment enlistment)
{
log.Warn("transaction in doubt {0}, messages {1}", TransactionId, this.Messages.Count);
if (_onrollback != null) _onrollback(this);
enlistment.Done();
TransactionOpen = false;
}
示例5: Commit
public void Commit(Enlistment enlistment)
{
if (_transaction != null && !_transaction.IsUpdated)
{
_transaction.Commit();
_transaction = null;
if (Completed != null)
{
Completed(this, new EventArgs());
}
if (_connection != null)
{
if (!_connection.Options.Pooling && (_connection.OwningConnection == null || _connection.OwningConnection.IsClosed))
{
_connection.Disconnect();
}
}
_connection = null;
_systemTransaction = null;
// Declare done on the enlistment
enlistment.Done();
}
}
示例6: StringBuilder
void IEnlistmentNotification.Commit(Enlistment enlistment)
{
this.m_Value = new StringBuilder(this.m_TemporaryValue.ToString());
this.m_TemporaryValue = null;
this.enlistedTransaction = null;
enlistment.Done();
}
示例7: Commit
/// <summary>
/// Performs necessary commit actions, clearing the current <see cref="TransactionContext"/>
/// </summary>
public void Commit(Enlistment enlistment)
{
BeforeCommit();
DoCommit();
TransactionContext.Clear();
enlistment.Done();
}
示例8: Commit
public void Commit(Enlistment enlistment)
{
if (this.transaction != null && !this.transaction.IsUpdated)
{
this.transaction.Commit();
this.transaction = null;
if (this.Completed != null)
{
this.Completed(this, new EventArgs());
}
if (this.connection != null)
{
if (!this.connection.Pooled && (this.connection.OwningConnection == null || this.connection.OwningConnection.IsClosed))
{
this.connection.Disconnect();
}
}
this.connection = null;
this.systemTransaction = null;
// Declare done on the enlistment
enlistment.Done();
}
}
示例9: Commit
public override void Commit(Enlistment enlistment)
{
if (_ThrowOnCommit)
throw new Exception("Simulated commit error");
base.Commit(enlistment);
}
示例10: Commit
public void Commit(Enlistment enlistment)
{
log.Debug("Commit {0}, Messages: {1}", TransactionId, Messages.Count);
if (_oncommit != null) _oncommit(this);
enlistment.Done();
TransactionOpen = false;
}
示例11: Rollback
public void Rollback(Enlistment enlistment)
{
enlistment.Done();
this.notification.Aborted(0, false, 0, 0);
Marshal.ReleaseComObject(this.notification);
this.notification = null;
}
示例12: StringBuilder
/// <summary>
/// Make the transacted changes permanent.
/// </summary>
void IEnlistmentNotification.Commit(Enlistment enlistment)
{
_value = new StringBuilder(_temporaryValue.ToString());
_temporaryValue = null;
_enlistedTransaction = null;
enlistment.Done();
}
示例13: InDoubt
public void InDoubt(Enlistment enlistment)
{
enlistment.Done();
this.notification.InDoubt();
Marshal.ReleaseComObject(this.notification);
this.notification = null;
}
示例14: Commit
public void Commit(Enlistment enlistment)
{
enlistment.Done();
this.notification.Committed(false, 0, 0);
Marshal.ReleaseComObject(this.notification);
this.notification = null;
}
示例15: ApplicationException
void IEnlistmentNotification.Commit(Enlistment enlistment)
{
if (_ThrowIt && ++_ErrorCount < 2)
throw new ApplicationException("simulating resource failure");
enlistment.Done();
}