我的方案是:WebApp - > WCF服务 - > Oracle DB
我正在使用自定义分页&在客户端绑定gridview以避免回发我在WebApp中使用webmethod调用WCF方法,该方法又调用Oracle中的存储过程。此SP返回大约1 MB大小的DataTable。因此,每当我在gridview上执行任何操作时,它都会从服务中获取1MB数据,这会降低应用程序性能,因为我只对100条记录感兴趣(分页)。我无法修改SP,提高性能的另一种方法是什么?
答案 0 :(得分:2)
当然,最好的解决方案是查询页面中的数据,但由于您无法触摸存储过程,因此您无法使用该选项。所以接下来最好的事情是查询数据一次并将结果缓存在ASP.NET会话中。这样,您只能访问数据库一次,后续调用将从查询结果的内存中表示中获取。
我能够找到this blog post,并且很好地报道了使用WCF的ASP.NET会话。