Bonjour à tous,
Je rencontre à l'heure actuelle un petit souci de communication entre mon composant Silverlight (je travaille avec la version 4) et ma couche WCF...
En effet je lui passe un objet de ma conception et dès que ce dernier dépasse une certain taille (en rajoutant à une de ses collections un nouvel objet par exemple), WCF explose.
Mes logs WCF m'indique cette erreur :Cette dernière est effectivement l'erreur basique lorsqu'on se sert des valeurs par défaut de WCF. Or il se trouve que tous les quotas et buffers ont été passés à Int32.MaxValue (si je ne me trompe pas, cette valeur m'assure donc de pouvoir passer jusqu'à 2Go de données, et je puis assurer que mon objet ne fait pas cette taille...), mais cela ne change rien...Le quota de taille maximale autorisée pour les messages entrants (65536) a été dépassé. Pour augmenter le quota, utilisez la propriété MaxReceivedMessageSize sur l'élément de la liaison appropriée.
Je dois avouer qu'après avoir tourné pendant plusieurs jours sur le net, et essayer maintes configuration différentes, je commence à désespérer un peu...
Ci-dessous ma configuration serveur:
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <system.web> <httpRuntime executionTimeout="999999" maxRequestLength="2097151" /> <compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel> <bindings> <customBinding> <binding name="binaryHttpBinding" closeTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" sendTimeout="00:20:00"> <binaryMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647" maxSessionSize="2147483647"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> </binaryMessageEncoding> <httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" authenticationScheme="Anonymous" maxBufferSize="2147483647" transferMode="Buffered"/> </binding> </customBinding> </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> <behaviors> <serviceBehaviors> <behavior name="MonServiceBehavior"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> <dataContractSerializer maxItemsInObjectGraph="2147483647"/> <bufferedReceive maxPendingMessagesPerChannel="2147483647"/> </behavior> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> <bufferedReceive maxPendingMessagesPerChannel="2147483647"/> <dataContractSerializer maxItemsInObjectGraph="2147483647" /> </behavior> </serviceBehaviors> </behaviors> <services> <service behaviorConfiguration="MonServiceBehavior" name="Application.Web.Service"> <endpoint address="" binding="customBinding" bindingConfiguration="binaryHttpBinding" contract="ServicesWCF.IServiceWCF"> <identity> </identity> </endpoint> </service> </services> </system.serviceModel>
Et là ma configuration coté client:
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IServiceWCF" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647"> <security mode="None" /> </binding> </basicHttpBinding> </bindings> </system.serviceModel>
Quelqu'un aurait-il une idée sur mon problème? Peut-être manque-t-il quelque chose dans ma configuration? Ou bien peut-être quelque chose est à régler sur mon serveur IIS 7 qui publie le service WCF??
D'avance merci,
Bonne journée,
Partager