【问题标题】:How to handle large data in wcf service?wcf服务中如何处理大数据?
【发布时间】:2015-01-17 18:58:42
【问题描述】:
Web 应用程序调用 wcf 方法从 DB 获取数据,但它是非常大的数据。这需要时间,在此期间整个应用程序为该特定用户挂起,用户无法在 Web 应用程序中执行任何操作。
有人知道如何处理这种情况吗?这与wcf节流,实例模式或线程有关吗?当我们需要从DB中选择非常大的数据并需要将其绑定到一些gridview时,请告诉我如何处理这种情况如果数据非常大,需要很长时间时间和时间到期异常发生。是否有任何好的文章或链接描述了如何在 WCF 服务中处理这些场景。
【问题讨论】:
标签:
c#
asp.net
sql-server
wcf
【解决方案1】:
你问了很多问题,最好问一个具体的问题。
应用程序挂起
如果应用程序是 Windows 窗体,则使用 BackgroundWorker 或 webClient 中的新 async 方法之一访问 Web 服务。通过使用不同的线程,UI 不会挂起。
如果应用程序是 javascript,则使用 Ajax 用于相同目的。
选择大数据
将您的 Web 服务转换为一个健谈的界面。一次只请求一页,而不是请求 1M 行数据。您还可以使用 infinite scrolling 在后台预取下一页。
WCF 实例模式
这仅在同时向服务器发出请求时影响速度。