J'ai actuellement un service WCF avec des liaisons WebHTTP, une tentative d'augmentation de la taille maximale pouvant être entrée au service en remplaçant les paramètres par défaut de config, j'ai essayé de faire quelque chose comme
3 Réponses :
Il y a une multitude de réglages qui pourraient avoir une influence en fonction de vos paramètres - essayez ceci: en définissant votre "version" du WebhttpLinding et définissez tous ces paramètres à des valeurs plus élevées, vous devriez être capable de passer à travers une taille de message (presque). P> Mind You: Cela ouvre votre système au potentiel d'être inondé d'énormes messages et donc être amené à genoux (refus classique -d'attaques de service) - c'est la raison pour laquelle ces limites sont fixées assez bas - par conception et exprès. p> Vous pouvez les modifier à des valeurs plus élevées - Sachez simplement ce que vous faites et quelle est la sécurité Les risques sont, si vous le faites! p> marc p> PS: afin d'utiliser ces paramètres, vous devez évidemment référence à la configuration de la liaison dans la configuration du serveur et du côté client: p>
Cela ne fonctionne pas, il ne me laissera pas envoyer quelque chose de plus de plus de 64k encore
Pouvez-vous montrer votre config? Avez-vous référencé cette configuration de liaison?
Oui, j'ai réalisé que c'était mon problème, je viens d'ajouter toute la configuration jusqu'à, si je mets l'attribut contraignantconfiguration, je reçois une exception, pour une raison quelconque
Je viens de comprendre sa raison en raison de mes étiquettes de sécurité ... Souhaitez-vous savoir pourquoi cela n'aime pas les paramètres de sécurité en examinant cet extrait de configuration? Merci!
Vous avez spécifié la sécurité du transport, par exemple Vous souhaitez utiliser HTTPS - cela nécessite une certaine configuration (certificats SSL, etc.) sur le client. Je suppose que cela pourrait être le problème.
Droite, avez-vous un site en référence sur la façon de faire tout ce que je pouvais examiner par une chance? Merci
"WCF Essentials" est un très bon article d'introduction - CODE-MAGAZINE.COM/ARTICLE .aspx? Quickid = 0605051
Ou ensuite jeter un coup d'œil au livre de Michele Leroux Bustamante "Learning WCF" - C'est vraiment ce qui m'a fait commencer dans la WCF et la compréhension de nombreuses instantanmes de tout cela - vous le trouverez sur Amazon ou toute autre bonne librairie.
Réglage du message Max et de la taille de la mémoire tampon pour les services de repos WCF WebhttpBinding
<bindings> <webHttpBinding> <binding maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> <readerQuotas maxDepth="200" maxStringContentLength="83886089" maxArrayLength="163841" maxBytesPerRead="2147483647" maxNameTableCharCount="16384"/> </binding> </webHttpBinding> </bindings>
Si vous utilisez [DataContract] Decorator dans votre modèle, vous devez ajouter le datacontractRentializer DatacontractSerializer Strong> dans votre Web.Config Exemple: P> <serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpsGetEnabled="false" httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
Pourriez-vous poster la partie pertinente de votre fichier de configuration?