J4N*_*J4N 4 .net c# wcf bigdata
我有一个在客户端和服务器端使用WCF的应用程序。返回大量数据时出现错误:
尝试序列化参数http://tempuri.org/:GetCurrentDatabaseObjectsResult时发生错误。InnerException消息是“在对象图中可以序列化或反序列化的最大项目数为'65535'。更改对象图或增加MaxItemsInObjectGraph配额。'。有关更多详细信息,请参见InnerException。
(最重要的是我必须增加MaxItemsInObjectGraph)。
我在这里找到了这篇文章:如何从Silverlight应用程序中以编程方式设置maxItemsInObjectGraph属性?但似乎这仅适用于客户端,我需要在服务器上执行此操作。
在代码中:
foreach (OperationDescription op in factory.Endpoint.Contract.Operations)
{
DataContractSerializerOperationBehavior dataContractBehavior =
op.Behaviors.Find<DataContractSerializerOperationBehavior>()
as DataContractSerializerOperationBehavior;
if (dataContractBehavior != null)
{
dataContractBehavior.MaxItemsInObjectGraph = 100000;
}
}
Run Code Online (Sandbox Code Playgroud)
在配置中:
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaivor">
<serviceAuthorization impersonateCallerForAllOperations="True" />
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceThrottling maxConcurrentCalls="2147483647" />
<dataContractSerializer maxItemsInObjectGraph="65775" />
</behavior>
</serviceBehaviors>
</behaviors>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8142 次 |
| 最近记录: |