WebservicesでStateをどのように維持できますか?WebservicesでStateをどのように維持できますか?
答えて
Webサービスは本質的にステートレスです。状態を維持しようとする試みは、ユーザからの次の要求によって使用されるものを保持している可能性があるため、ハックです。
本当に必要な場合は、そのままセッションに入れてください。大規模なデータセットの場合は、それらをセッションから外しておきますが、セッションが終了するとそのデータをクリーンアップするためにセッションリスナーを追加してください。
サービスはステートレスでなければなりません。維持されるべき状態があれば、それはクライアントの仕事です。
-1 - 誰が言う?どうですか? –
私と答えが受け入れられた男。ああ、そしてAmazonのCTOであるWerner Vogel http://queue.acm.org/detail.cfm?id=1142065 HTTPはリクエスト/レスポンスプロトコルなので、クッキーやURLの書き換えやデータベースへの書き込みなど、状態を保存するための特別な手段を講じなければなりません。 – duffymo
すばらしい措置..?データベース/データストア、クッキー、クエリ文字列、SOAPヘッダーは特別ではありません。見てください:http://developer.yahoo.com/oauth/guide/oauth-accesstoken.html Yahoo APIは状態を維持します。 –
-1ハックステートメントについてSOAPヘッダーにセッション情報を格納することは、有効な非ハック解決策です。多くの企業は、この目的のために独自のSOAPヘッダを持っています。基本的には、あなたが言うことが真であれば、HTTPはステートレスであるため、ASP.NETのセッション状態はハックです。 –