Si verificano problemi con la specifica dataContractSerializer maxItemsInObjectGraph nel web.config dell'host.Servizio WCF dataContractSerializer maxItemsInObjectGraph in 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>
Quanto sopra non ha alcun effetto sulla mia estrazione dei dati. Il server è scaduto a causa del volume elevato di dati.
Posso tuttavia specificare il limite massimo nel codice e che funziona
[ServiceBehavior(MaxItemsInObjectGraph=2147483646, IncludeExceptionDetailInFaults = true)]
public abstract class MyService : MyService
{
blah...
}
Qualcuno sa il motivo per cui non riesco a fare questo lavoro attraverso un ambiente web.config? Mi piacerebbe rimanere nel web.config in modo che sia più facile per gli aggiornamenti futuri.
Anche io sto avendo questo problema. Mi chiedo perché nessun altro ha risposto? Grazie per il consiglio di essere in grado di impostare 'ServiceBehavior' in codice, potrebbe almeno farmi spostare. – jocull
Sapete che maxItemsInObjectGraph definisce solo il numero totale di elementi consentiti nella risposta, non la dimensione di risposta definitiva sì? (penso che se non è specificato, il valore predefinito è 60k xml elementi) –
Dave, la tua domanda è stata risposta o no? Se la risposta data risolve il tuo problema, contrassegnalo come tale. – Bardia