我使用asp.net服務器控件,並且不希望存儲在可怕的和佔用視圖狀態的服務器控件屬性存儲服務器控件的屬性。所以我需要c#中的一些數據結構來存儲這些屬性並將它們序列化到客戶端隱藏狀態。有人完成了一項研究,其中會給我最好的性能,刪除多餘的密鑰,並提供簡單的序列化/反序列化過程,也提供了被篡改的安全性。對於這種情況,SessionState不是一個好選擇,對於那些想要這樣做的人Lightwieght序列化和解析友好的數據結構
1
A
回答
2
你說你要存儲在客戶端隱藏狀態的數據。 ViewState正是如此:我認爲微軟將其設計得非常緊湊。什麼讓你覺得你可以做得更好?
恕我直言,沒有銀彈,如果你想存儲狀態的客戶端,堅持ViewState中。
0
您可以定義一個簡單的類,將該實例序列化爲二進制文件,並對該二進制文件執行Base64編碼並將其用於隱藏字段。如果你想防止篡改,我會建議包含另一個隱藏字段,其中包含由序列化數據構建的散列和可以保留在服務器端的密鑰。然後,您可以在表單帖子上再次構造相同的密鑰,並與您在隱藏字段中收到的密鑰進行比較。
+0
我肯定有一個內置的數據結構的方式比我創建這個類的更多更快。因爲它基本上只是鑽取字符串 – Deeptechtons
+0
也許你可以使用'List
相關問題
- 1. 如何解析Java中的PHP序列化數據結構?
- 2. 序列化和數據結構
- 3. 解析非結構化數據
- 4. 解析結構化文本數據
- 5. jquery解析數據和結構的html
- 6. 從BeautifulSoup解析非結構化數據到結構化數據集
- 7. 搜索引擎優化友好ModRewrite +數據結構
- 8. 解析結構化和非結構化文本的混合
- 9. 解析序列化的數據回JSON
- 10. QT,架構:「好友列表」的解剖
- 11. PHP - 解析友好的URL
- 12. 序列化SQLite的JavaScript數據結構
- 13. 數據結構的C++序列化
- 14. 構建結構化二進制數據解析器的框架?
- 15. 數據結構最快的序列化/反序列化方案
- 16. 結構化,非結構化和半結構化數據
- 17. 解析友好路由URL參數
- 18. Hadoop和結構化數據
- 19. 解析來自非結構化文件的數據
- 20. 解析PHP中的結構化文本數據
- 21. SitePress的MySQL數據庫中的序列化數據的結構
- 22. 解釋器和數據結構網絡化解析(字符串)式
- 23. 序列化結構
- 24. 序列化結構
- 25. 解析Perl程序結構
- 26. 這個數據結構有一個友好的名字嗎?
- 27. 解析數據結構clang/LLVM
- 28. 解析JSON到數據結構
- 29. 將CSV數據解析爲結構
- 30. 解析爲遞歸數據結構
我同意,但一些初步測試表明,向viestate添加單個字符會導致隱藏字段累計多達10個字符,該帶寬如何友好地說。此外,爲什麼不序列化'名單'這是我的財產,以JSON格式,並存儲在隱藏字段,檢索它當時 –
Deeptechtons
@Deeptechtons,你要記住,當你存儲在ViewState中的數據的一個字符,它也需要存儲元數據來描述該字符代表什麼。通過選擇哪些控件啓用ViewState,通常可以實現可接受的頁面大小。任何自行開發的解決方案可能不太安全並且維護性較差 - ViewState由一些聰明的工程師設計。 – Joe
同意100%,OP正試圖在這裏重新發明輪子。如果你對viewstate的大小不滿意,可能是因爲你沒有正確調整它。這篇文章對我很有幫助:http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx – pseudocoder