7
votes

Réglage de la taille du message et du tampon maximum pour wcf webhttp

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 xxx P> et définir diverses autres propriétés relatives à la taille des messages, mais aucune ne semble fonctionner, peut-on même modifier la taille de l'essage M d'une liaison WebHTTP? Aucune suggestion? Merci!


1 commentaires

Pourriez-vous poster la partie pertinente de votre fichier de configuration?


3 Réponses :


12
votes

Il y a une multitude de réglages qui pourraient avoir une influence en fonction de vos paramètres - essayez ceci: xxx

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).

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.

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!

marc

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: xxx


8 commentaires

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.



0
votes

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>


0 commentaires

0
votes

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>


0 commentaires