如何在不使用.net中的会话的情况下共享用户特定数据

时间:2013-03-01 07:11:15

标签: c# .net cookies asp.net-mvc-4 session-state

在这种情况下,我需要在不使用会话的情况下在页面之间共享用户特定数据(如firstname / lastname / email等)。

我无法使用会话的原因是因为我们正在使用负载均衡器,它可能会分配不同的机器来满足用户的请求。

所以我的公司已经严格规定避免使用会话。

我们不能使用数据存储区(sql)来存储会话,因为再次受到一些限制。

现在,一个关键问题是我们如何在不使用会话/ cookie /数据存储的情况下共享用户特定数据。

我有一个选项可以在每个请求上ping数据库以获取用户特定信息(这显然不是推荐的方法)

任何人都可以帮我建议如何在网页上分享用户特定信息。

注意:我使用的是MVC4(Razor引擎)

2 个答案:

答案 0 :(得分:1)

  

我留下了一个选项来ping每个要获取的请求数据库   用户特定信息(显然不是推荐的   的方法)

事实上,这是推荐的方法。如果您担心可能会为数据库产生大量流量,您可以随时缓存结果。请小心使用用户特定的密钥进行缓存,以避免在用户之间混合信息。您也可以考虑在节点之间使用分发缓存,例如memcached

答案 1 :(得分:0)

可以使用Cookie。

  • 在浏览器和服务器之间传输时会消耗额外负载。
  • 它将存储在客户端计算机中。
  • 您可以使用自定义代码加密/解密数据以确保安全。