我使用WebMatrix中(C#)來設計,因爲我工作的組織Intranet的Web應用程序。是否有比使用會話變量更好的解決方案;會話變量真的應該在網頁中使用嗎?
我已經作出一個數據庫驅動的網站,和我目前正在另一個,並在一段時間,我一直有一些麻煩的Session變量隨機成爲空和引發錯誤。正因如此,一個簡單的會話變量與使用的服務器高速緩存,而不是交換(我本來以爲會比較波動,但仍有待觀察,到目前爲止...)
一個問題是, :是否有任何實際的會話變量使用?如果它真的像它看起來一樣不穩定,它們似乎對任何事都沒有好處。\
我知道他們在技術上是cookies,所以我知道他們的數據不應該依賴,但是其中存在這個問題。我需要將數據發送到我「可以」依賴的其他頁面。這留下了會話變量和cookie。
我一般遠離查詢字符串或URL數據遠,任何敏感信息(如社會保險號)的,他們明目張膽的「純文本」顯示,與其中,甚至SSL也無濟於事。
服務器高速緩衝存儲器也是揮發性的,並且不是要作爲依據。
屆時AppState變量是不特定的用戶。
,在這裏留下隱藏輸入字段...問題是,有時在「郵報」我做的Response.Redirect,而這樣的,所以C#不總是渲染後後頁面(似乎)。
或許這只是一個缺乏對我的部分知識,而是一種我似乎走投無路不管我走哪條路。
難道我真的對所有的頁面信息保存到與每一頁單獨的數據庫,並與其他頁面上的SQL查詢檢索它只是爲了獲得可靠的,而不是「明碼實價」顯示,從一個網頁到另一個信息與網頁?即使這種方法是使用幾個不同的用戶的問題,不是嗎?
會話變數有其不利之處,但只要會話保持活躍狀態就應該穩定。 – lboshuizen
一句話:會話變量不是「基本上是cookies」,它們根本不會**發送給客戶端。會話的ID是存儲在cookie中的唯一值,其餘的保持在服務器端。 –
它取決於實現,但會話通常是跨Web前端,而緩存則不是。緩存應該主要用於重新使用可以重新計算性能的東西,因爲它可以在任何時候消失(這應該沒問題)。根據設計,會話更多的是不能重新計算的東西。 – Servy