Silverlight / ASP.NET / WCF 项目中的大对象?

发布于 2024-10-07 11:51:46 字数 435 浏览 1 评论 0原文

我必须处理一个大约需要 2-3 分钟才能加载的课程。该对象位于 silverlight / ASP / WCF 项目的服务器端。加载后,该对象将包含 5 000 000 个较小对象的列表,这些对象将用于执行某些计算。

用户不介意在应用程序加载时等待 2 或 3 分钟,但他们不想在每次计算某些内容时再次等待。

我想听听您对我的选择的意见。

选项 A:将大对象保留在会话变量中。有些人声称会话变量是有毒的......尤其是在与大型对象一起使用时。真的有那么糟糕吗?

选项 B:在服务器启动时加载大对象,然后找到一种在会话之间共享或复制该对象的方法

选项 C(这个可行……但并不完美):创建第二个对象来复制 5 000 个对象我的耗时类中的 000 对象然后将其发送到客户端。然而,这个解决方案并不完美,因为这 5 000 000 个对象是敏感数据,不应该在客户端“按原样”访问。

I have to deal with a class that takes about 2-3 minutes to load. This object is on the server side of a silverlight / ASP / WCF project. Once loaded, this object will contain a list of 5 000 000 smaller object that will be used to perform some calculation.

Users doesn't mind waiting 2 or 3 minutes when the application is loading but they don't want to wait again each time they calculate something.

I would like your input about my options.

Option A: Keep the large object in a session variable. Some people claims that session variable are poison... especially when used with large object. Is it really that bad?

Option B: Load the large object when the server start, then find a way to shared or duplicate this object between sessions

Option C (This one would work... but it's not perfect): Create a second object that will copy the 5 000 000 object from my time consuming class then send it to the client side. However, this solution is not perfect because those 5 000 000 objects are sensible data that should not be accessible "as is" on the client side.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

两仪 2024-10-14 11:51:46

你给出了三种方法,第一种和第二种方法,使用seesion,我认为它们不是好主意。

我建议,如果你有大内存,你可以将类更改为静态类。因为静态类没有实例化它。

或者
您可以使用缓存来缓存实例。

you give out three methods, the first and second method ,use the seesion , i think they are not the good ideas.

i suggest, if you have the big memory ,you can change the class to static class. because the static class not instance it.

or
you can use the cache to cache the instance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文