2010-03-14 7 views
2

J'ai un service WCF qui retourne beaucoup de données. Je veux compresser cette information donc j'ai pensé que l'utilisation de BinaryEncoding serait appropriée.Silverlight - WCF Enable Binary Encoding

Actuellement, j'ai une configuration obligatoire dans mon web.config comme suit:

<binding name="myCustomBinding" closeTimeout="00:05:00" openTimeout="00:05:00" 
    receiveTimeout="00:05:00" sendTimeout="00:05:00"> 
    <binaryMessageEncoding /> 
    <httpTransport maxReceivedMessageSize="8388608" maxBufferSize="8388608"> 
    <extendedProtectionPolicy policyEnforcement="Never" /> 
    </httpTransport> 
</binding> 

Dans mon dossier ServiceReferences.ClientConfig, j'ai les paramètres de liaison suivants:

<binding name="CustomBinding_MyService"> 
    <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"> 
    <extendedProtectionPolicy policyEnforcement="Never" /> 
    </httpTransport> 
</binding> 

Bizarrement, cette la configuration ne fonctionnera pas. Dès que je supprime la ligne <binaryMessageEncoding /> du web.config, tout fonctionne correctement.

Ma question est, comment puis-je utiliser le codage de message binaire? Y a-t-il quelque chose que je dois configurer dans mes ServiceReferences.clientconfig?

Merci

Répondre

1

Pouvez-vous définir "ne fonctionnera pas"?

Notez que le client et le serveur doivent être d'accord; Silverlight a seulement un sous-ensemble limité de points d'extension, mais il semble que <binaryMessageEncoding/> est pris en charge (source et plus d'infos) - alors peut-être l'ajouter au client?