我必须处理一个需要大约2-3分钟才能加载的类。该对象位于silverlight/ASP/WCF项目的服务器端。一旦加载,该对象将包含一个5 000 000个较小对象的列表,将用于执行一些计算。Silverlight/ASP.NET/WCF项目中的大对象?
用户不介意在应用程序加载时等待2到3分钟,但他们不想在每次计算时再等待。
我希望您对我的选项有所了解。
选项A:将大对象保留在会话变量中。有些人声称会话变量是毒药......特别是当用于大对象时。这真的很糟吗?
选项B:装载大物件时,服务器开始,然后找到一种方式来共享或复制会话之间的对象
选项C(这一个会工作......但它并不完美):创建第二个对象将从我耗时的课程中复制5 000 000个对象,然后将其发送给客户端。然而,这种解决方案并不完美,因为这500万个对象是不应该在客户端“按现状”访问的合理数据。
您能否提供任何线索,为什么将5,000,000个对象复制到客户端是有意义的?你不能在数据已经存在的服务器上执行计算吗? – 2010-12-15 01:13:52
在服务器端执行计算是我想要做的......这就是为什么我宁愿使用选项A或B.选项C更像是一种解决方法。 – 2010-12-15 03:08:05
您在服务器上发送的数据可以加密..但是如果您将数据存储在Cookie中,则需要序列化您的对象以及Cookie的空间有限.. – 2010-12-15 03:16:29