CommittableTransaction.EndCommit(IAsyncResult) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Завершает попытку фиксации транзакции асинхронно.
public:
void EndCommit(IAsyncResult ^ asyncResult);
public void EndCommit(IAsyncResult asyncResult);
member this.EndCommit : IAsyncResult -> unit
Public Sub EndCommit (asyncResult As IAsyncResult)
Параметры
- asyncResult
- IAsyncResult
Объект, IAsyncResult связанный с асинхронным обязательством.
Исключения
BeginCommit(AsyncCallback, Object) вызывается и транзакция откатывается в первый раз.
Комментарии
Этот метод следует вызвать в делегате обратного вызова, указанном в качестве параметра BeginCommit для метода, после завершения любой работы по очистке, связанной с асинхронным обязательством. Этот метод можно вызвать рано, не ожидая делегата. Если к тому времени, когда вы вызываете этот метод, транзакция не завершена, этот метод ожидает завершения.
Предостережение
Свойство CompletedSynchronously , возвращаемое asyncResult всегда false, даже если операция завершилась синхронно.
Commit и EndCommit блокируются до завершения первой фазы обработки транзакций. Первый этап заканчивается после того, как все менеджеры ресурсов и зачисления в транзакцию проголосовали по результату транзакции, и TransactionManager окончательно решил зафиксировать или прервать транзакцию. Второй этап обработки всегда асинхронен. Таким образом, нет никакой гарантии, что данные, только что зафиксированные из данной транзакции, будут немедленно доступны после использования другой транзакции для просмотра этих данных.