2

ASP.NET アプリケーションのセッションに TransactionScope を格納して、いくつかの RESTful 要求を介してアトミック トランザクションを実現するのが適切なアプローチであるかどうか疑問に思っています。このようなバッチに関するいくつかの関連記事を確認しました。

REST とバッチ

ただし、このアプローチでは、バッチ内の操作が相関しないように制限されます。私が達成したいのは次のようなものです:

POST /account でアカウントを作成し、アカウント ID を返します PUT /user/1 で、返されたアカウント ID でユーザーを更新します

2 つの RESTful リクエストで簡単に実現できます。ただし、データの完全性は保証したいと思います。したがって、操作はアトミックである必要があります。

私が考えることができるのは、セッションを使用して TransactionScope オブジェクトを格納することです。通常どおり 2 つの RESTful リクエストを作成し、3 番目のリクエストでトランザクションをコミットして、TransactionScope オブジェクトとセッションを破棄します。

それは適切なアプローチでしょうか?私は何かを逃しましたか(おそらくロック?)

ありがとう!

ジェームズ

4

1 に答える 1

0

それは特に悪い考えのように聞こえます。Restful サービスはステートレスであるべきです。

トランザクションが必要な場合は、WCF を見る必要があります...

于 2013-06-26T01:59:35.950 に答える