Мне интересно, если это правильный подход для хранения TransactionScope в сеансе в приложении ASP.NET для достижения атомной транзакции через несколько запросов RESTful. Я проверил некоторые соответствующие статьи о партии, такие, как этот:Хранить транзакцию в сеансе
Однако этот подход ограничивает операции в рамках партии быть коррелированы. То, что я хочу достичь, это что-то вроде:
POST/счет, чтобы создать учетную запись и вернуть идентификатор аккаунта PUT/пользователя/1, чтобы обновить пользователя с возвращаемой счета ид
Это может быть легко достигнуто с два запроса RESTful. Однако я хотел бы обеспечить целостность данных. Следовательно, операция должна быть атомарной.
Что я могу придумать, это использовать сеанс для хранения объекта TransactionScope. Сделайте два запроса RESTful как обычно и совершите транзакцию в третьем запросе и удалите объект и сеанс TransactionScope.
Может быть, это правильный подход? Я пропустил что-нибудь (может быть, замки?)
Спасибо!
James
Да. Я в какой-то степени согласен с вами. Но с точки зрения совместимости, WCF, похоже, тоже не является хорошей идеей. Насколько это плохо, если я поместил TransactionScope в сеанс (или кеш) и установил для этого истечение? –