2012-03-26 98 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>