asp.net webform - 如何持久化对象实例beetwen页面

时间:2015-07-11 12:38:06

标签: asp.net c#-4.0 web webforms

我正在使用ASP.NET Web Form和我有一个应用程序,它在Session变量中保留了一个对象实例,但是当连接多个客户端时,我在性能方面存在很大问题,是否存在避免会话变量的选项? / p>

我需要对象实例,因为我只需要修改内存中的数据,并根据客户需求将数据保存在数据库中。

提前致谢

1 个答案:

答案 0 :(得分:0)

你有几个选择 - 两个立即想到的是将你的会话状态卸载到内存不足的选项,如SQL或分布式缓存(例如Redis) - 尽管从技术上讲这些只是来自网络的内存不足服务器的透视图)或将对象状态推入页面的视图状态。

在两个选项中,视图状态可能会有较少的开发开销,但从最佳实践的角度来看,将会话状态卸载到Redis通常是首选的,因为它可以让您更好地控制对象状态有效的时间并减少您需要向客户传输多少钱。这对敏感数据来说更是如此。

有关每个选项的更多信息,请参阅以下链接。

https://msdn.microsoft.com/en-us/library/75x4ha6s.aspx

https://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

https://en.wikipedia.org/wiki/Distributed_cache