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 :

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 : Sélectionner tout - Visualiser dans une fenêtre à part
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
et ça dans mon client :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)