1

有没有办法根据用户/连接缓存用户请求的数据。我的情况是我使用分页在 ASP.NET Gridview 中显示从 WCF 返回的数据。gridview 分页一次只显示 10 个项目。每当单击下一页时,都会再次调用该服务(这需要时间)。每次调用后,WCF 连接都会关闭。有没有办法解决这个问题?我阅读了 WCF ASP.NET 缓存机制,该机制缓存函数调用数据,并在一定时间后过期。我的主要内容是每个用户/调用缓存,例如一次返回 10 个项目,而无需为每 10 组数据再次调用长时间运行的函数。有办法吗?

基本上是第一次调用该函数并获得 100 个项目,然后一次返回 10 个,而无需再次运行该函数(获得 100 个项目)?

4

1 回答 1

2

我相信 ASP.NET Gridview 总是进行回发,这会导致每次用户更改页面时都会调用函数。但我可能被某人证明是错误的。

话虽如此,这可能不是您的最佳解决方案。但是您可以避免在您的场景中使用 ASP.NET Gridview。当您运行 WCF 调用并返回 100 个项目时,您将它们作为存储在内存中的 JSON 文件保存在客户端,然后使用 jQuery 或其他形式的 javascript 使用户能够浏览页面而无需进行另一个函数调用。

已编辑

这可能对您有用,可以帮助您在客户端进行分页,而无需多次重复调用服务器
http://www.smallworkarounds.net/2009/02/jquery-aspnet-how-to-implement.html

于 2012-07-26T12:53:12.613 回答