C# 在MVC会话中使用大量数据

C# 在MVC会话中使用大量数据,c#,asp.net-mvc,session,caching,C#,Asp.net Mvc,Session,Caching,在MVC应用程序中,我必须在整个会话中为每个用户使用大量数据(数据是特定于用户的) 下面是我找到的两种方法 使用会话对象将数据加载到其中,并在需要时检索 在磁盘中创建一个XML文件,并在需要时检索数据 以上哪一项适合web应用程序? 如果两者都不好,请让我知道一个方便的方法 我读过关于缓存的文章,但这也将内存问题视为会话,是否 如果有人经历过同样的情况,请帮我举一个简单的例子。我不赞成您强调的任何方法,这两种方法都会给您带来问题,当您计划扩展应用程序并尝试转移到负载平衡器或web场类型的环境时,

在MVC应用程序中,我必须在整个会话中为每个用户使用大量数据(数据是特定于用户的)

下面是我找到的两种方法

  • 使用会话对象将数据加载到其中,并在需要时检索
  • 在磁盘中创建一个XML文件,并在需要时检索数据
  • 以上哪一项适合web应用程序? 如果两者都不好,请让我知道一个方便的方法

    我读过关于缓存的文章,但这也将内存问题视为会话,是否


    如果有人经历过同样的情况,请帮我举一个简单的例子。

    我不赞成您强调的任何方法,这两种方法都会给您带来问题,当您计划扩展应用程序并尝试转移到负载平衡器或web场类型的环境时,需要修改代码

    您应该尽量使应用程序无状态

    您可以将数据存储在数据库中,如果您的表被正确地索引,那么获取数据不会花费太多时间(几乎与从xml文件中获取数据相同)


    如果数据不敏感,并且您仅在客户端需要它,您可以考虑将其存储到
    会话存储中

    ,因为存在一些问题,数据库连接需要很长时间并影响系统性能。需要删除数据库连接会话存储对于每个用户都会消耗大量内存,但会话存储对于每个用户都将位于客户端,因此,如果用户数量增加,则不会对应用程序的内存造成影响。您使用的是什么数据库以及哪个版本?Oracle 11 i..直到两个月前还不错..现在应用程序每次连接都需要20-50秒以上..有时我们会遇到超时异常。。