Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Транзакции предоставляют способ группировки набора действий или операций в одну невидимую единицу выполнения. Транзакция — это коллекция операций со следующими свойствами:
Атомарность. Это гарантирует, что все обновления, выполненные в рамках определенной транзакции, фиксируются и становятся постоянными или все они отменяются и возвращаются к предыдущему состоянию.
Согласованность. Это гарантирует, что изменения, внесенные в транзакцию, представляют собой преобразование из одного согласованного состояния в другое. Например, транзакция, которая передает деньги из чекового счета в сберегательный счет, не изменяет сумму денег в общем банковском счете.
Изоляция. Это предотвращает доступ к незафиксированным изменениям, принадлежащим другим параллельным транзакциям. Изоляция обеспечивает абстракцию параллелизма, гарантируя, что одна транзакция не может оказать неожиданного влияния на выполнение другой транзакции.
Долговечность. Это означает, что после фиксирования обновления управляемых ресурсов (например, записи базы данных) будут сохраняться в случае сбоев.
Windows Communication Foundation (WCF) предоставляет широкий набор функций, позволяющих создавать распределенные транзакции в приложении веб-службы.
WCF реализует поддержку протокола WS-AtomicTransaction (WS-AT), который позволяет приложениям WCF передавать транзакции в совместимые приложения, например веб-службы взаимодействия, созданные с помощью сторонних технологий. WCF также реализует поддержку протокола OLE Transactions, который можно использовать в сценариях, где для включения потока транзакций не требуются функции взаимодействия.
Вы можете использовать файл конфигурации приложения для настройки привязок для включения или отключения потока транзакций, а также задания требуемого протокола транзакций в привязке. Кроме того, можно задать время ожидания транзакций на уровне обслуживания с помощью файла конфигурации. Дополнительные сведения см. в разделе "Включение потока транзакций".
Атрибуты транзакций System.ServiceModel в пространстве имен позволяют выполнять следующие действия:
Настройте время ожидания транзакций и фильтрацию на уровне изоляции с помощью атрибута ServiceBehaviorAttribute .
Включите функции транзакций и настройте поведение завершения транзакций с помощью атрибута OperationBehaviorAttribute .
Используйте атрибуты ServiceContractAttribute и OperationContractAttribute в методе контракта, чтобы требовать, разрешать или запрещать поток транзакций.
Дополнительные сведения см. в разделе "Атрибуты транзакций ServiceModel".