Comment passer un gros tableau à une méthode de service wcf ?
Bonjour,
J'essai de passé un tableau d'environ 30 000 instances à une méthode d'un service wcf et je tombe sur cette erreur si mon tableau dépasse plus de 15 000 instances environ :
Citation:
Une erreur s'est produite lors de la réception de la réponse HTTP à
http://localhost:50694/MyService.svc. La raison peut en être que la liaison de point de terminaison de service n'utilise pas le protocole HTTP. Cela peut également être dû au fait qu'un contexte de demande HTTP a été ignoré par le serveur (peut-être à cause de l'arrêt du service). Pour plus d'informations, consultez les journaux du serveur.
J'ai rajouté ça dans mon web.config :
Code:
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
et ça dans mon client :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| MyServiceClient myServiceClient = new MyServiceClient();
myServiceClient.Endpoint.Address = new EndpointAddress(uri);
foreach (var operationDescription in myServiceClient.Endpoint.Contract.Operations)
{
DataContractSerializerOperationBehavior dataContractBehavior =
operationDescription.Behaviors.Find<DataContractSerializerOperationBehavior>()
as DataContractSerializerOperationBehavior;
if (dataContractBehavior != null)
dataContractBehavior.MaxItemsInObjectGraph = int.MaxValue;
}
return myServiceClient; |
Mais ça ne semble pas faire grand chose.
Quelqu'un pourrait m'aider ?
Merci d'avance.
(vs 2010, frk 4)