2015-06-22 6 views
1

Я пытался получить информацию о транзакциях WCF, и мне удалось получить информацию о том, как их использовать. Что я не получил много информации о том, почему/когда использовать их. В чем разница между транзакциями базы данных и транзакциями WCF? Есть ли какой-либо конкретный случай, когда любой из этих подходов предпочтительнее другого?Когда мы используем транзакции WCF?

ответ

1

К Операции WCF то, о чем вы действительно спрашиваете, является внедрение Microsoft стандартного расширения веб-службы WS-AtomicTransaction.

Почему/когда использовать их

Аналогично с помощью транзакции базы данных, чтобы гарантировать целостность базы данных, WS-AtomicTransaction используется для обеспечения согласованности в рамках более крупной распределенной системы, основанной на связи по SOAP 1.2. Эта распределенная система может включать или не включать записи базы данных, но чаще всего это будет делать.

Операции, распространяемые службой от клиентов, вызовут внутренний код службы в контексте транзакции клиентов.

Таким образом, транзакция базы данных может обернуть несколько записей базы данных в единую единицу работы, транзакция WCF может переносить несколько вызовов службы в единую единицу работы, так что сбой в одном откатит другие.

Это, как вы можете себе представить, чрезвычайно дорогостоящее с точки зрения ресурсов, поэтому такие виды межсетевых транзакций должны быть редко (если когда-либо) использованы, если это абсолютно необходимо.

+0

Так что не слишком много практического использования для этого. – Kodathon

+0

@ Kodathon - согласился. Раньше я не видел распределенных транзакций этого типа. Я думаю, что они непопулярны. –