3
我有一個基於AJAX的WebGet方法返回JSON。它不會與幾千行的JSON結果一起工作(如果我只採用100行左右的行)。我注意到,瀏覽器只是檔並沒有任何反應,沒有表現出Firebug控制檯的任何信息:從AJAX服務返回大的JSON文件 - WCF
[WebGet]
public HttpTransactionTransformArgs Test()
{
HttpTransactionFilterArgs args = new HttpTransactionFilterArgs();
args.Context = "MyDb";
args.Entity = "MyDbRow";
args.Key = "1";
args.Option = null;
HttpTransactionTransformArgs targs = new HttpDataPush().TransformRequest(args);
return targs;
}
[DataContract]
[KnownType(typeof(HttpTransactionTransformArgs))]
[KnownType(typeof(HttpColumnDefinition))]
[KnownType(typeof(HttpDataRow))]
public class HttpTransactionTransformArgs
{
[DataMember]
public string EntityName { get; set; }
[DataMember]
public List<HttpColumnDefinition> Schema { get; set; }
[DataMember]
public List<HttpDataRow> Data { get; set; }
[DataMember]
public bool TransactionSuccessful { get; set; }
}
這裏是WCF我的服務器端配置:
<service name="Test.AJAXService" behaviorConfiguration="metadataBehavior">
<endpoint address="" behaviorConfiguration="Test.AJAXServiceAspNetAjaxBehavior"
bindingConfiguration="webHttpConfig"
binding="webHttpBinding" contract="Test.IAJAXServiceTest" />
</service>
這是的WebHttpBinding配置我正在申請:
<webHttpBinding>
<binding name="webHttpConfig" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"
closeTimeout="00:30:00" openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" >
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxDepth="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</webHttpBinding>
這裏是endpoing行爲:
<behavior name="Test.AJAXServiceAspNetAjaxBehavior">
<enableWebScript />
<webHttp defaultOutgoingResponseFormat="Json" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
在我看來,所有事情都已經過去,它應該起作用,我會錯過什麼?
你嘗試過打開業務跟蹤,看看它是否顯示任何異常情況? –
是的,它不顯示任何錯誤。開始變得非常惱火與WCF和它的神祕和/或不存在的錯誤消息... –