La taille maximale de message de quota pour les messages entrants (65536) a été dépassé
Mon Service WCF a un OperationContract qui accepte en paramètre un tableau d'objets. Cela peut éventuellement être tout à fait grand. Après la recherche de correctifs pour les Bad Request: 400, j'ai trouvé la vraie raison: la taille maximale de message.
Je sais que cette question a été posée dans de NOMBREUX endroits. J'ai essayé ce que tout le monde dit: "Augmenter la taille du client et de serveur de fichiers de configuration." J'ai. Cela ne fonctionne toujours pas.
Mon Service web.config:
<system.serviceModel>
<services>
<service name="myService">
<endpoint name="myEndpoint" address=""
binding="basicHttpBinding"
bindingConfiguration="myBinding"
contract="Meisel.WCF.PDFDocs.IPDFDocsService" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="myBinding"
closeTimeout="00:11:00"
openTimeout="00:11:00"
receiveTimeout="00:15:00"
sendTimeout="00:15:00"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
maxBufferPoolSize="2147483647"
transferMode="Buffered"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
messageEncoding="Text"
textEncoding="utf-8"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
Mon Client app.config:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IPDFDocsService"
closeTimeout="00:11:00"
openTimeout="00:11:00"
receiveTimeout="00:10:00"
sendTimeout="00:11:00"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Text"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<security mode="None">
<transport clientCredentialType="None"
proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName"
algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8451/PDFDocsService.svc"
behaviorConfiguration="MoreItemsInObjectGraph"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IPDFDocsService"
contract="PDFDocsService.IPDFDocsService"
name="BasicHttpBinding_IPDFDocsService" />
</client>
<behaviors>
<endpointBehaviors>
<behavior name="MoreItemsInObjectGraph">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Ce que je peux éventuellement être manquants ou mal? C'est comme si le service est d'ignorer ce que j'ai tapé dans le maxReceivedBufferSize.
Merci d'avance,
Kyle
Mise à JOUR
Voici deux autres StackOverflow questions où ils n'ont jamais reçu de réponse, soit:
WCF MaxReceivedMessageSize propriété de ne pas prendre
Comment vous organisez le service? IIS?
Je suis juste de créer une nouvelle instance de mon Service Client, puis en appelant la OperationContract, en passant dans ma classe personnalisée en tant que paramètre. Rien de fantaisie. @Simon: je suis à l'aide de l'ASP .NET Serveur de Développement. Actuellement, c'est tous les locaux.
OriginalL'auteur DaleyKD | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
Dans le fichier de configuration du service, l'attribut "name" est absent de l'élément
et il devrait y avoir une référence à ce nom dans l'élément de service:
En général, c'est une bonne idée pour valider, si ce n'est toujours modifier votre WCF fichiers de configuration à l'aide de la "WCF Éditeur de Configuration de Service", qui est appelée à partir de Visual Studio "Outils" dans le menu.
Aussi il n'y a pas de comportement de point de terminaison définis pour le service. Je ne sais pas si cela est important.
Je ne sais pas encore ce qu'est la vraie solution à ce problème, mais j'ai pu obtenir mon premier problème résolu, faisant de cette question discutable. FWIW, il me semble que j'ai été en mesure de se débarrasser de l'erreur ci-dessus, en vous assurant de mon service utilisé paramètre behaviorconfiguration. Merci!
OriginalL'auteur Simon Chadwick
J'ai eu le même problème avec WCF Test et j'avais mis corectly le fichier de configuration. Si ce n'est pas tout les problèmes de votre fichier de config, je suggère que vous essayez de tester le service avec un autre programme, par exemple: SOAP UI, je pense que cette erreur, il n'est pas de service, c'est à partir de la WCF Test.
OriginalL'auteur Popa Andrei