2

Google AppEngineでBeakerSessionを使用して、HTTPリクエスト間の永続データを管理しています。

GETリクエストとPOSTリクエストから同じセッションにアクセスすることは可能ですか?

セッションオブジェクトにアクセスしようとしましたが、同じオブジェクトではありません。

def get(self):
    session = self.request.environ['test.beaker.session']
    ...

def post(self):
    session = self.request.environ['test.beaker.session']
    ...
4

2 に答える 2

1

似たようなものの実装について話しているこの投稿を見てください:Android:HttpGetのHttpPostからのCookieを使用する例

答えは、セッションCookieがAndroidクライアント側に保存されており、サーバーとのやり取りを通じてアクセスできることを確認する必要があるということです。

于 2012-07-18T15:41:19.967 に答える
0

それらは、リクエスト間で同じオブジェクト(オブジェクトID)にはなりません(複数のサーバーを覚えておいてください)。ただし、正しく設定すると、セッションはユーザーセッションに対して一貫性があります。

カスタムバックエンド(appengineのデータストアまたはmemcache)がないと、Cookieベースのセッションのみを使用できます。セッションに何かを入れる場合は、それを呼び出しsession.save()て自動保存用に構成する必要があります。コードでこれらのいずれかを実行しましたか?

それらが異なる、オブジェクトのアイデンティティまたはコンテンツであるとどのように判断しましたか?

それがどのように設定されているかについて、もう少し詳細を提供する必要があります。

于 2012-07-18T00:57:42.273 に答える