2012-03-16 25 views
0

我想定义一个变量或对象像会话,存储有关每个用户的数据,我想在很多页面上访问这个对象, 可以请你告诉我如果有办法。 感谢如何在ASP.NET中定义变量模拟器到会话变量

+2

你为什么不使用Session? – 2012-03-16 11:55:48

+0

你想要使用的是一个'Session'变量。 – 2012-03-16 11:56:40

+0

,因为我想存储keyValuePair, – Sum 2012-03-16 11:57:39

回答

0

您可以将数据存储在cookie中,然后在你的代码隐藏解析特定的cookie变得像一个System.Collections.Generic.Dictionary

但你应该使用会话。

编辑

IF如果是一个KeyValuePair<String,TValue>您可以设置Session[kvp.Key] = kvp.Value;,如果不是Session["KVP"] = kvp;

+0

这样的能力不存在??? !!!!! – Sum 2012-03-16 12:02:22

+0

我的意思是没有办法定义这样的对象???? !! – Sum 2012-03-16 12:04:06

+0

没有我知道的,只是因为你通常不需要这个。有一个完成的解决方案,为什么建立另一个。 – 2012-03-16 12:06:28

1

你有onlyy几个选择,真的。 URL参数,隐藏表单输入,Cookie,会话(在负载平衡的场景中要小心),或者只是从数据库中存储/检索内容。 RaveDB是bloomin'的精彩之作,因为它非常快速且基于文档。

0

如果妳实在不想使用会话使用数据库记住,这是一个缓慢的方法...

0

我有过,我想最小化/消除会话存储(由于用户数的情况下正在一个可怕的无线连接)。为了处理这种情况,我在字符串中只使用了一个加密的查询字符串。在基本页面中,我将解密字符串并从数据库中提取我需要的信息。这些信息将被填充到我定义的对象中,并且由于对象位于基本页面中,所以我可以从任何继承它的页面访问信息。