代码之家  ›  专栏  ›  技术社区  ›  Bennett Dill

WCF分页结果和数据导出

  •  3
  • Bennett Dill  · 技术社区  · 14 年前

    我走进了一个正在为数据层使用WCF服务的项目。当前,当网格需要数据时,将返回所有行,并将结果绑定到网格,并且将数据集填充到会话变量中以进行分页/排序/重新绑定。我们已经遇到了最大消息大小的问题,所以我认为是时候从fetch和cache转换为只获取当前页面了。

    这让我又回到了最大消息大小的问题。对于这种类型的设置,建议采用什么方法?

    我们正在使用wsHttpBinding。。。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Andy White    14 年前

    我认为对于大文件推荐的方法是使用WCF流。我不确定您的场景的具体细节,但您可以从这一点开始:

    http://msdn.microsoft.com/en-us/library/ms789010.aspx

        2
  •  2
  •   marc_s HarisH Sharma    14 年前

    在你的情况下我可能会这样做

    • 使用“paged”GetData()方法创建一个服务—在该方法中,您可以将页索引和页大小指定为附加参数。这将为“常规”使用提供一个干净的界面,并且不会达到maxMessageSize的限制

    • 创建第二个服务(或方法)来发送所有数据—理想情况下,您可以在发送数据之前将其打包到服务器上的ZIP文件或其他文件中。如果ZIP文件仍然太大,您可能需要检查WCF流以处理大文件,正如Andy已经指出的那样