【问题标题】:Implementing Asp.NET core 2.2 Sessionstate or tempdata equivalent at page level在页面级别实现 Asp.NET core 2.2 Sessionstate 或 tempdata 等效项
【发布时间】:2020-01-13 08:55:05
【问题描述】:

我在 Asp.NET core 2.2 中有一个报告,该报告当前访问了每页数据的数据库。我的目标是从数据库中获取大量数据子集(或整个数据集),然后在屏幕上呈现时对其进行逻辑分页。

如果我使用会话状态或临时数据(指示记住列表),我需要我的控制器记住在 cshtml 页面期间获取的内容,然后我会在用户导航离开后将结果集保留在内存中。

有没有我可以使用的构造,比如老式的析构函数?

【问题讨论】:

    标签: c# asp.net-core


    【解决方案1】:

    有没有我可以使用的构造,比如老式的析构函数?

    不,没有。这个假定的析构函数应该只在用户在几次连续访问您希望调用析构函数的页面后导航到另一个页面时触发。没有内置机制会以这种方式运行。

    我使用会话状态或临时数据(被指示记住列表),然后在用户导航离开后我会面对保留在内存中的结果集

    是的,这就是会话的工作方式。根据结果​​集的大小,您最终可能会在服务器内存中保留太多数据。

    我的目标是从数据库中获取大量数据子集(或整个数据集),然后对其进行逻辑分页

    通常,这种要求的最佳方案是使用数据库的分页功能,即根据单个请求从数据库中获取特定页面。

    这样您就不必将大型子集存储在中间件服务器的内存中。相反,从数据库中检索单个页面,提供给客户端,并在请求完成后立即删除。

    【讨论】:

      猜你喜欢
      • 2020-08-16
      • 2019-07-07
      • 2019-06-25
      • 2019-11-12
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2020-01-29
      • 2019-03-09
      相关资源
      最近更新 更多