У меня есть проблемы, указывающие dataContractSerializer maxItemsInObjectGraph в web.config хоста.
<behaviors>
<serviceBehaviors>
<behavior name="beSetting">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True" />
<dataContractSerializer maxItemsInObjectGraph="2147483646"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="MyNamespace.MyService"
behaviorConfiguration="beSetting" >
<endpoint address="http://localhost/myservice/"
binding="webHttpBinding"
bindingConfiguration="webHttpBinding1"
contract="MyNamespace.IMyService"
bindingNamespace="MyNamespace">
</endpoint>
</service>
</services>
Вышеупомянутое не имеет никакого эффекта на мое получение по запросу данных. Сервер испытывает таймаут из-за большого объема данных.
Я могу однако указать макс. предел в коде, и это работает
[ServiceBehavior(MaxItemsInObjectGraph=2147483646, IncludeExceptionDetailInFaults = true)]
public abstract class MyService : MyService
{
blah...
}
Кто-либо знает, почему я не могу сделать эту работу посредством установки web.config? Я хотел бы сохранить в web.config, таким образом, это легче для будущих обновлений.