2012-03-26 65 views
0

我有一个WCF数据服务托管在IIS 7.5中。该方法返回JSON。由WCF数据服务(或IIS 7.5?)返回的JSON限制

[WebGet(ResponseFormat = WebMessageFormat.Json)] 
    CatalogResults SearchBoxADO(string requestBox); 

(目录结果有一个计数字段,然后是一个记录数组,每个记录有17个字段)。

当我获得3500条记录(或者至少3500到4000条)时,服务就会爆炸(没有数据返回)(我希望我知道错误是什么,但是我们愚蠢的防火墙(BlueCoat白名单服务)启动并且阻止我看到Fiddler的结果,我知道这听起来很棒,但这就是发生的情况)。

无论如何,我知道我必须进入分页响应,但我想知道WCF JSON有什么限制(或者这是一个IIS限制),它表示HTTP响应中的超过200万字节是过多(

HTTP/1.1 200 OK Content-Length的:2081615内容类型: 应用/ JSON;字符集= UTF-8服务器:IIS/7.5 X供电-通过:ASP。 NET访问控制允许来源:*日期:星期一3月26日 2012 GMT 16时47分05秒

{ “计数”:3500, “结果”:[{ “BBOX”:“42.73043480000000,-70.7756345000 0000,42.74424550000000,-70.75736040000000" , “分类”: “U”, “classificationVal”:3, ...

回答

0

您已经达到可能只是因为你是如何配置的,或者没有配置限制你的WCF服务。要弄清楚什么是问题,您可以设置跟踪您的服务。

Configuring Tracing

从链路配置上述

<configuration> 
    <system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing" 
       propagateActivity="true"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name="CardSpace"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name="System.IO.Log"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name="System.Runtime.Serialization"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
     <source name="System.IdentityModel"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
     </source> 
    </sources> 

    <sharedListeners> 
     <add name="xml" 
      type="System.Diagnostics.XmlWriterTraceListener" 
      initializeData="c:\log\Traces.svclog" /> 
    </sharedListeners> 
    </system.diagnostics> 
</configuration>