Je rencontre des problèmes en spécifiant dataContractSerializer maxItemsInObjectGraph dans le fichier web.config de l'hôte.Service WCF dataContractSerializer maxItemsInObjectGraph dans 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>
Ce qui précède n'a aucun effet sur mon extraction de données. Le serveur expire en raison du grand volume de données.
Je peux cependant spécifier la limite maximale dans le code et qui fonctionne
[ServiceBehavior(MaxItemsInObjectGraph=2147483646, IncludeExceptionDetailInFaults = true)]
public abstract class MyService : MyService
{
blah...
}
Est-ce que quelqu'un sait pourquoi je ne peux pas faire ce travail par un cadre web.config? Je voudrais garder dans le web.config donc c'est plus facile pour les futures mises à jour.
J'ai aussi ce problème. Je me demande pourquoi personne d'autre n'a répondu? Merci pour l'astuce de pouvoir définir le 'ServiceBehavior' dans le code, cela peut au moins me faire bouger. – jocull
Vous savez que maxItemsInObjectGraph ne définit que le nombre total d'éléments autorisés dans la réponse, et non la taille de la réponse absolue oui? (Je pense que si ce n'est pas spécifié, il est par défaut 60k éléments xml) –
Dave, a été répondu à votre question ou non? Si la réponse donnée a résolu votre problème, marquez-le comme tel. – Bardia