2009-12-17 18 views
2

je tente de transférer des fichiers via WCF, mais dès que la méthode est appelée à partir du client, je reçois le message suivant:WCF streaming File Transfer

The socket connection was aborted. This could be caused by an error processing 
your message or a receive timeout being exceeded by the remote host, or an 
underlying network resource issue. Local socket timeout was '00:10:00'. 

Ma méthode est enveloppé dans un try...catch , donc s'il y a quelque chose qui lance une exception depuis la méthode sur le serveur, il devrait l'enregistrer dans une fenêtre de console, mais rien n'est consigné. J'ai également essayé d'exécuter le serveur localement et de définir des points d'arrêt sur la méthode, et la méthode ne semble tout simplement pas être appelée.

Existe-t-il une propriété ou quelque chose qui doit être défini sur la connexion net.tcp pour permettre la diffusion en continu côté client?

Répondre

4

Y at-il un bien ou quelque chose qui besoins fixés sur la connexion net.tcp à permettent le streaming sur le côté client?

Oui - bien sûr! Vous devez configurer votre configuration côté client pour utiliser le streaming - soit dans une direction (StreamedRequest si vous souhaitez télécharger des choses sur le serveur, ou StreamedResponse si vous voulez télécharger à partir du serveur, ou tout simplement en continu si vous diffusez les deux voies).

<system.serviceModel> 
    <bindings> 
    <netTcpBinding> 
     <binding name="streaming" 
      transferMode="StreamedResponse"> 
     </binding> 
    </netTcpBinding> 
    </bindings> 
    <client> 
    <endpoint name="StreamEndpoint" 
       address="..." 
       binding="netTcpBinding" 
       bindingConfiguration="streaming" 
       contract="IYourService" /> 
    </client> 
</system.serviceModel> 

Vous devez définir votre configuration de liaison sous un nom (ce que vous voulez), puis faire référence à cette configuration dans le <endpoint> en spécifiant que le nom dans l'attribut bindingConfiguration=.

Consultez les pages de document MSDN sur How to: Enable Streaming pour plus d'informations.

0

Vous devez configurer le suivi sur le serveur et ouvrir le journal pour une meilleure explication de ce qui se passe.
Jetez un oeil à la Service Trace Viewer Tool