2012-02-17 61 views
0

因此,我在跨標籤頁/瀏覽器(標籤確實)保存唯一集合時遇到問題。 在ASP中回調之後使用靜態變量來存儲數據並不能很好地工作,因爲所有瀏覽器都可以讀取並修改變量。 使用會話變量並不能很好地工作,因爲雖然它成功地使集合在各個瀏覽器中都是唯一的,但它並不是唯一的跨標籤。因此,一個Mozilla選項卡可以修改會話變量中的集合(集合發生更改) - 當再次訪問集合時使用另一個Mozilla選項卡時,用戶會感到非常驚訝 - 不幸的是同一集合 - 類似於髒讀。 所以問題是 - 如何使標籤/瀏覽器中的集合成爲有狀態但唯一有狀態的,這樣每個集合都可以擁有自己獨特的集合,並且可以自由修改它。如何向服務器發出狀態更好的請求UNIQUELY有狀態?

我在這裏看到的問題是一個選項卡不斷髮出一個總是重新創建控制器對象的ajax請求,這意味着它永遠不會是唯一的。

另一個想法是在JavaScript中保存對此集合的引用 - 然後在每次請求期間來回傳遞此引用 - 問題是如何在不序列化/反序列化的情況下執行此操作參考:(

任何想法,歡迎

方法沒有奏效:會話,應用/靜態(沒有嘗試過申請,但它似乎有同樣的表現方式) 威爾ViewState的工作?但似乎並沒有保存數據:'(

+0

我很好奇 - 什麼情況下使用你在用戶從一個單一的瀏覽器需要多個會話後走向何方? – 2012-02-17 06:31:24

+0

我知道這是瘋狂的 - 它不是會話變量本身,這是問題,但如何記住一個唯一的集合列表將改變,但改變不應該影響其他標籤/瀏覽器。真的不能說超過這個:( – 2012-02-17 06:48:10

+0

)你真的想把asp-classic標籤放在這個問題上嗎?注意標籤「asp」是「asp-classic」的同義詞。我懷疑你的意思是「asp.net」 – AnthonyWJones 2012-02-17 08:49:31

回答

2

將de用自定義路由向uri添加GUID的故障路由。並使用該GUID加載會話。

我做了一個例子,我的博客只爲你:http://blog.gauffin.org/2012/02/get-a-unique-session-in-each-browser-tab/

+0

GUID?你能解釋一下嗎?我是初學者 - 謝謝 – 2012-02-17 06:41:45

+0

@LewsTherin:閱讀我的更新 – jgauffin 2012-02-17 07:09:17

+0

我會看看它的感謝。複雜的大聲笑但是,如果我要做一個職位?在回發後不會有不同的指導嗎? – 2012-02-18 16:58:35