【问题标题】:ASP.NET MVC get data from SQL Server with WCF : how to put temporary data store in controllerASP.NET MVC 使用 WCF 从 SQL Server 获取数据:如何将临时数据存储在控制器中
【发布时间】:2015-09-27 08:58:01
【问题描述】:

我想做网格,我使用 WCF 从 SQL Server 获取 1000 行数据,然后我在使用滚动后首先将网格 10 数据放入视图中,并在使用滚动后从两个控制器中获取 10-20 数据并获取 20三个控制器中的 -30 数据.....使用滚动并从控制器获取 990-1000 数据。但是对于 1000 行数据,我必须只使用 WCF 一次 使用 SQL Server(我不能一直使用 SQL Server(例如 0-10,10-20,20 -30)) 我在视图中放了 10 个数据网格,问题是控制器中有 990 行数据。

如何在控制器中保存990行数据?

【问题讨论】:

  • 一种选择是使用Session
  • 我知道会话是针对少量数据的,但 990 数据并不多。是真还是假?
  • 取决于数据有多大以及你的服务器有多少内存。如果有问题,请将集合序列化为文件
  • 使用ASP.NET Caching - 正是它的设计和实现目的!
  • 非常非常感谢您的回答,我将在性能和安全性方面研究文件、缓存或 tempData,因为我应该为框架做网格(一个网格动态运行很多表)。你对文件或缓存或 tempData 的性能有任何想法吗?

标签: c# sql-server asp.net-mvc wcf


【解决方案1】:

您可以为此使用Caching

要么使用System.Web.Caching

或者使用MemoryCache

根据您的设置,您也许还可以使用OutputCache

    [OutputCache(Duration=10, VaryByParam="none")]
    public ActionResult Result()
    {
        return Data();
    }

请参阅http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/improving-performance-with-output-caching-cs 了解更多相关信息。

【讨论】:

  • 非常非常感谢您的回答,我将在性能和安全性方面研究文件、缓存或 tempData,因为我应该为框架做网格(一个网格动态运行很多表)。你对文件或缓存或 tempData 的性能有任何想法吗?
  • 文件系统的数据需要序列化和磁盘 I/O,其中缓存会将数据存储在内存中,因此速度会更快。您对安全性有什么顾虑?
  • 这是框架项目的网格,所以我看不到数据和项目,可能是使用的银行项目可能是使用的计费项目
【解决方案2】:

你的描述很混乱。对不起,如果我误解了您的要求。

如果它涉及超过 1000 多个数据,则 session 不是一个好的选择,特别是如果您的程序涉及 session 的其他用法。

由于您使用的是 MVC,因此您可以利用 ViewData 和 TempData 等新选项。你可以阅读更多关于它的信息here

我之前使用过 TempData,它可以处理大量数据(我没有计算它有多少,但认为它非常庞大)所以它应该是比 session 更好的选择。

【讨论】:

  • TempData Session! ViewData 用于将数据从控制器传递到视图。
  • 非常非常感谢您的回答,我将在性能和安全性方面研究文件、缓存或 tempData,因为我应该为框架做网格(一个网格动态运行很多表)。你对文件或缓存或 tempData 的性能有任何想法吗?
  • @bgmm。 TempDataSession (它只持续一个请求,所以在你的情况下将毫无用处)。这个答案是完全错误的。
  • 好的 @Stephen Muecke 我消除了 TempData
  • 仅供参考,SessionTempData 之间的区别在于 TempData 有 Keep()Peek(),而 TempData 与会话相比能够存储大量数据。我不确定 Peek(),但我目前正在使用 TempData.Keep() 将我的数据保存在一个控制器中并传递给另一个控制器。
猜你喜欢
  • 2016-05-08
  • 2023-03-16
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-01
  • 2020-01-25
相关资源
最近更新 更多