从WCF返回50,000个实体的性能不佳

时间:2016-07-21 08:56:34

标签: wcf xmlserializer

我有一个奇怪的场景,清楚地表明我不理解WCF和我应该的那样好。

我列出了50 000条记录,并创建了"实体"我想回到我的前端。 整个过程需要2秒钟才能完成。

然后序列化启动服务器端 - 在我的"代码"之外 - 但它只使用一个处理器来序列化数据 - 这需要4分钟?除了覆盖" onserialize" - 还有哪些其他选择?

我使用BasicHttpChannel - 当前没有安全性 - 编码是默认的 - 而不是MTOM。

任何建议都会很棒 - 谢谢!

编辑:

我有一个简单的加载调用,它返回一个POCO(没什么特别的) - 只有数据--5个属性 - 所有字符串 - 一个很长。

编辑: 澄清 - 通过WCF从前端加载数据,直到数据(POCO' s)到达"入口点"再次在"呼叫"返回需要2秒 此后,我只看到了我的一个处理器" spike"大约4分钟高达100% - 我的意见是这是数据被序列化返回的地方 - 我想知道WCF是否有一个选项允许更多的处理器来完成这项工作 - 或者是我唯一的选择来覆盖OnSerializing?

1 个答案:

答案 0 :(得分:-1)

链接:Transfer large amount of data in WCF service

另一种可能性是减少必须由WCF服务序列化的记录数量。您可以检查自上次请求以来记录是否已更新,并仅返回已更改为前端的记录。