WCF WebInvoke响应是否有大小限制?

Jad*_*son 3 c# rest wcf json

我有一个WCF Web服务定义如下

[OperationContract]
[WebInvoke(
    Method = "GET",
    ResponseFormat = WebMessageFormat.Json,
    BodyStyle = WebMessageBodyStyle.Bare,
    UriTemplate = "Assets/{assetId}/Reports/{startDate}/{endDate}")]
JQGridDataStore<Report> GetReportsForAssetFilterByDate(string assetId, string startDate, string endDate);
Run Code Online (Sandbox Code Playgroud)

当我的JQGridDataStore包含数千个Report实例时,我没有遇到任何响应.但是,数据存储超过10,000个报告,我在浏览器中收到以下信息:

错误324(net :: ERR_EMPTY_RESPONSE):未知错误.

我逐步完成了服务的实现,我可以看到它没有任何例外.完全创建JQGridDataStore对象并使用我的10,000 + Report实例进行填充.但是,当我'F10'超过返回时,浏览器显示空响应.这一切都发生在一秒钟之内,所以我认为我没有达到任何类型的超时.

基于此,我认为我遇到了某种类型的缓冲区大小限制.有哪些限制,我将如何调整它们?

nit*_*one 6

您可能正在运行DataContractJsonSerializer的MaxItemsInObjectGraph配额(每个单独的对象 - 如果您的阵列中有几个复杂类型,其中10k将很容易达到此限制).您可以在类似行为的配置设置.

那就是说,我建议你研究一下传呼隐喻.没有人愿意等待所有这些东西一次性降下来.:)