Service WCF maxReceivedMessageSize basicHttpBinding problème
Je n'arrive pas à obtenir mon service WCF pour accepter de grandes quantités de données envoyées à la hauteur.
J'ai configuré la maxReceivedMessageSize pour le client et peut recevoir des données de grande taille vers le bas correctement, ce n'est pas le problème. C'est l'envoi des données vers le service.
J'ai essayé de configurer le service, mais n'ai pas eu de chance. Voici mon site web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false" />
<serviceDiscovery />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Service.IService">
<clear />
<endpoint binding="basicHttpBinding" bindingConfiguration="MessageSizeBasic" contract="Service.IService" />
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="MessageSizeBasic" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="16348" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>
</basicHttpBinding>
<webHttpBinding>
<binding name="MessageSizeWeb" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
</webHttpBinding>
</bindings>
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
Vous devez vous connecter pour publier un commentaire.
Retirer le nom de votre liaison va le faire appliquer à tous les points de terminaison, et devrait produire les résultats souhaités. Ainsi:
Notez également que j'ai enlevé le
bindingConfiguration
attribut du nœud d'extrémité. Sinon, vous obtenez une exception.Cette même solution a été trouvée ici : Problème avec les requêtes de grande taille dans WCF
Est le nom de votre classe de service vraiment IService (sur l'espace de noms du Service)? Ce que vous avez probablement eu à l'origine, était une erreur dans le nom de la classe de service dans le
name
attribut de la<service>
élément.name
de l'attribut de l'<service>
élément doit être le nom du service class.Lors de l'utilisation de HTTPS au lieu de SUR la liaison, le mettre EN liaison avec le
httpsTransport
tag: