|
Транзакции в WEB-сервисах
|
|||
---|---|---|---|
#18+
Как реализуются транзакции в web-сервисах? Вот например бронирование билета. Удалённая система обращается к БД посредством web-сервиса, для бронирование билета. Т.е. она просто дёргает метод, который в таблице билетов ставит отметку "продан". Удалённая система должна быть уверена, что отметка проставлена для распечатки билета, также БД должна быть уверена что билет распечатан, иначе надо снять отметку "продан" (т.е. откатить транзакцию). Как это можно реализовать с учётом того что канал может разорваться в любой момент? Например система заобронировала в БД билет, распечатала его, и говорит БД что билет успешно распечатан, в БД ставится отметка, но ответ об успешном выполнении транзакции не приходит, так как связь оборвалась. Система в недоумении и откатывает транзакцию, а в БД висит что билет успешно продан!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2011, 16:40 |
|
Транзакции в WEB-сервисах
|
|||
---|---|---|---|
#18+
никак они не риализуются. а если и реализуются, то это обычная логика с ключами и разными переменными состояний. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2011, 17:56 |
|
Транзакции в WEB-сервисах
|
|||
---|---|---|---|
#18+
TransactionScope ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2011, 18:05 |
|
|
start [/forum/topic.php?fid=19&fpage=18&tid=1397338]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 390ms |
0 / 0 |