0

正如我在这里所读到的,使用 Session 不利于存储大量数据。

我在控制器中的 c# 中有一个方法,我从 javascript 文件中调用它(使用 ajax 调用)。这个方法调用了很多次,500次左右。在这种方法中,我有一个循环 10 次的 for 循环。

第一次调用它时,我创建了新会话并将其设置为 null。之后,我每次调用它,对于每个 for 循环,我都会将数据添加到会话中。

对于小数据,它工作得很好。实际上它甚至适用于大数据。但问题是 - 呼叫的数量越大,它变得越慢。500次需要5个小时。

我在这里读到:在 Asp.net 会话中存储大量数据,该会话不适合存储大量数据。

我应该使用什么作为替代方案?

我想过将它保存在数据库中,但是每次调用该方法时,我都需要对数据库进行两次查询:一次用于获取数据,两次用于重新保存。

我应该怎么做才能让它更快地工作?

4

2 回答 2

0

You have to be very carefull with session. You can use for lookups data that are the same for all users, caching. See the above example of caching . http://www.codeproject.com/Articles/134784/MyCache-Distributed-caching-engine-for-an-ASP-NET

于 2013-06-04T12:39:14.040 回答
0

Do you have a single server? If so, you could store the data as a local file if it's too large to store in a database. That won't scale to multiple servers, though, unless they have a common file access somewhere. Otherwise, something like a database or distributed cache would be the best bet.

于 2013-06-04T12:39:16.190 回答