2012-07-18 69 views
2

我在Google App Engine上使用Beaker Session來管理HTTP請求之間的持久數據。在Google App Engine上通過GET和POST進行燒杯會話?

是否可以從GET和POST請求訪問相同的會話?

我試圖讓訪問會話對象,但它們不是同一個對象:

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

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

你在Android之外測試了這個嗎?這篇文章可能會有所幫助:http://stackoverflow.com/questions/3407764/android-example-for-using-a-cookie-from-httppost-for-httpget – Sologoub 2012-07-18 00:44:38

+0

謝謝!我認爲這解釋了這個問題,因爲在POST中,我使用BasicHttpContent和CookieStore,但使用GET,我使用WebView加載網頁。 – Seunghoon 2012-07-18 01:12:44

+0

@Sologoub我們可以回答這個問題嗎?然後我可以接受你的答案。 – Seunghoon 2012-07-18 01:14:49

回答

0

他們不會同一個對象(對象標識)的請求,請求(記住多個服務器)。但是,通過正確的設置,會話將對用戶會話保持一致。

沒有自定義後端(用於appengine的數據存儲或memcache),您只能使用基於cookie的會話。如果您在會話中添加了某些內容,則需要撥打session.save()或將其配置爲自動保存。你有沒有在你的代碼中完成這些任務?

您是如何確定它們不同,對象標識或內容的?

你應該提供一些關於如何設置的更多細節。

+0

是的,我叫session.save() – Seunghoon 2012-07-18 01:02:28

+0

用我們的服務,用戶可以使用POST方法登錄,並且一些數據存儲在會話中,我想在另一個GET請求中訪問數據。我在POST請求中向會話添加了一些數據,但我無法獲取GET請求中的數據。 – Seunghoon 2012-07-18 01:04:29