2010-07-09 56 views
2

我們在現有的ASP.NET Webforms應用程序中遇到問題。這是一款已成功運行多年的應用程序;我們正在添加一個Mobile部分,而啓用了Javascript的Blackberry正在給我們帶來麻煩。ASP.NET Webforms上的Blackberry正在丟失SessionID

我們打開了SessionState,SessionID存儲在Cookie中。 Blackberry設備(同時測試5.0和4.6)或者根本不存儲該值,或者刪除該值,因爲每次回發都會創建一個新會話而不是加載以前的會話。

當黑莓手機上的JavaScript被禁用時,該應用可以正常工作,但我們不能要求用戶關閉JavaScript。

如果我們使用CookieLess會話,該應用程序可以正常工作,但這樣做會影響現有網站的方式,但我們並不完全準備好。

有沒有什麼方法可以確保啓用javascript的Blackberry設備正確地將sessionId存儲在cookie中?我們應該考慮將該值存儲在隱藏字段中嗎?

+0

是您的網站http或https? – 2010-07-09 16:55:33

回答

0

從幾次快速搜索中,聽起來像BB設備在解析cookie和處理多個cookie時遇到問題。也許它只發送一個cookie,並且會話信息不發回。

也嘗試使用URL編碼cookie數據,也許另一個字符導致cookie瀏覽器錯誤地解析cookie,從而遺漏會話ID。

這個link似乎有幫助,並像一個類似的問題。

+0

謝謝,我一定會檢查一下。但是,如果我在設備上關閉javascript,則問題不存在,所以可能是另一個問題。 – sgwill 2010-07-09 17:02:38

+0

沒錯。看起來像BB瀏覽器是非常hoakey與餅乾。 – 2010-07-09 17:09:55

+0

我們嘗試在網站上投擲SSL,但它不起作用(SCARY!BB代理與SSL搞混了!)。一旦我們將其減少到1個cookie,該網站就可以正常工作。 – sgwill 2010-07-12 10:47:30