J'ai un service web simple, il faut 2 paramètres l'un est un simple jeton de sécurité xml, l'autre est généralement une longue chaîne de caractères XML. Cela fonctionne avec des chaînes courtes mais des chaînes plus longues donnent un message d'erreur 400. maxMessageLength n'a rien fait pour permettre des chaînes plus longues.WCF - Comment accepter les chaînes longues en tant que paramètres
3
A
Répondre
2
Vous devez également supprimer les limitations de quotas. Voici comment vous pouvez le faire en code avec une liaison Tcp. J'ai ajouté du code qui montre la suppression des problèmes de timeout car l'envoi de très gros arguments entraîne généralement des problèmes de timeout. Donc, utilisez le code judicieusement ... Bien sûr, vous pouvez également définir ces paramètres dans le fichier de configuration.
NetTcpBinding binding = new NetTcpBinding(SecurityMode.None, true);
// Allow big arguments on messages. Allow ~500 MB message.
binding.MaxReceivedMessageSize = 500 * 1024 * 1024;
// Allow unlimited time to send/receive a message.
// It also prevents closing idle sessions.
// From MSDN: To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.’
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.SendTimeout = TimeSpan.MaxValue;
XmlDictionaryReaderQuotas quotas = new XmlDictionaryReaderQuotas();
// Remove quotas limitations
quotas.MaxArrayLength = int.MaxValue;
quotas.MaxBytesPerRead = int.MaxValue;
quotas.MaxDepth = int.MaxValue;
quotas.MaxNameTableCharCount = int.MaxValue;
quotas.MaxStringContentLength = int.MaxValue;
binding.ReaderQuotas = quotas;
3
Après la réponse sur les quotas que je viens de faire tout ce qui dans le web.config
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IPayroll" maxReceivedMessageSize="6553600">
<security mode="None"/>
<readerQuotas maxDepth="32"
maxStringContentLength="6553600"
maxArrayLength="16384"
maxBytesPerRead="4096"
maxNameTableCharCount="16384" />
</binding>
</wsHttpBinding>
</bindings>
Questions connexes
- 1. éviter les longues constantes de classe en tant que paramètres - PHP
- 2. Trouver les plus longues chaînes répétées?
- 3. Débogueur XCode: afficher les chaînes longues
- 4. Les opérateurs en tant que paramètres de méthode en C#
- 5. Transférer des fichiers en tant que paramètres
- 6. fonctions en tant que paramètres (avec paramètres) - JavaScript
- 7. Quelle est l'utilisation la plus lisible de String.Format pour les chaînes longues avec de nombreux paramètres?
- 8. variables en tant que paramètres dans les options de champ
- 9. comment rendre le comportement WCF webHttp accepter les verbes HEAD?
- 10. Raccourci Eclipse pour fendre des chaînes longues
- 11. un tableau de chaînes en tant que sélecteur jQuery?
- 12. Expose une bibliothèque de classes en tant que service WCF
- 13. Est-ce que je devrais stocker en tant que "chaînes" ou "entiers" en php et mysql?
- 14. C# enums en tant que paramètres de fonction?
- 15. Publication du schéma en tant que problème de service wcf
- 16. Passage de tableaux en tant que paramètres dans VB6
- 17. écrire une commande PowerShell pour accepter un scriptblock en tant que paramètre
- 18. WCF fonctionne en tant qu'application, mais pas en tant que service
- 19. Comment accepter une collection d'un type de base dans WCF
- 20. Comment puis-je accepter des chaînes comme "$ 1,250.00" et le convertir en décimal en C#?
- 21. .NET en tant que client, Java en tant que serveur
- 22. trouver de longues sous-chaînes répétées dans une chaîne massive
- 23. Étant donné les noms des types en tant que chaînes, comment pourrais-je construire un générique en utilisant la réflexion?
- 24. Comment puis-je donner des expressions EL en tant que paramètres dans les balises jsp 2.0 imbriquées?
- 25. Comment gérer les longues comparaisons dans SQL
- 26. Comment accepter n'importe quel type de nombre dans une fonction en tant qu'argument en C#?
- 27. Comment écrire des chaînes en tant que binaires dans un fichier?
- 28. Multiplier les valeurs longues?
- 29. Passer les paramètres pour démarrer en tant que console ou application graphique?
- 30. fonctions elisp en tant que paramètres et que la valeur de retour
Combien de temps votre chaîne? Et quel contrat utilisez-vous? J'ai MessageContract et la chaîne est longue de 64k caractères. – Tuoski