Impossible de lire les données de la connexion de transport : Une connexion existante a dû être fermée par l'hôte distant.
-
13. března 2012 12:45
Bonjour,
je suis entrain d'envoyer un flux (fichier doc) vers mon server WCF
string FilePath = @"C:\Projets\\ServiceTest\RepositoryTestPrintFile"; string FileName = "Gest_3.doc"; byte[] buffer = null; using (FileStream fs = new FileStream(Path.Combine(FilePath,FileName), FileMode.Open, FileAccess.Read, FileShare.Read)) { buffer = new byte[fs.Length]; fs.Read(buffer, 0, (int)fs.Length); } if (buffer != null) { service.PrintAsByte(buffer, null, null, false); } [ServiceContract] public interface IImpressionService { [OperationContract(Name = "PrintAsByte")] void Print(byte[] data, string printerName, string printFileName, bool printToFile); }<system.serviceModel> <bindings> <basicHttpBinding> <binding name="ServiceBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm=""/> <message clientCredentialType="UserName" algorithmSuite="Default"/> </security> </binding> </basicHttpBinding> </bindings> <services> <service name="ImpressionService.ImpressionService" behaviorConfiguration="serviceBehavior"> <endpoint address="http://localhost:1093/ImpressionService.svc" binding="basicHttpBinding" bindingConfiguration="ServiceBinding" contract="ImpressionService.IImpressionService" name="Impression" /> </service> </services> <behaviors> <serviceBehaviors> <behavior name="serviceBehavior"> <dataContractSerializer maxItemsInObjectGraph="200000000"/> <serviceMetadata httpGetEnabled="True"/> <serviceDebug includeExceptionDetailInFaults="True" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>
Si la taille du fichier lu dans buffer est faible le service s'execute correctement.
Mais j'ai l'erreur suivante à l'execution si la taille est important:
System.ServiceModel.CommunicationException
{"Une erreur s'est produite lors de la réception de la réponse HTTP à http://localhost:1093/Impression.svc. La raison peut en être que la liaison de point de terminaison de service n'utilise pas le protocole HTTP. Cela peut également être dû au fait qu'un contexte de demande HTTP a été ignoré par le serveur (peut-être à cause de l'arrêt du service). Pour plus d'informations, consultez les journaux du serveur."}
InnerException
Impossible de lire les données de la connexion de transport : Une connexion existante a dû être fermée par l'hôte distant."}
Merci de votre aide
- Upravený gophette 13. března 2012 12:47
Všechny reakce
-
13. března 2012 15:30
Merci a tous,
je viens de trouver la solution
<httpRuntime maxRequestLength="2147483647"/>
- Označen jako odpověď gophette 13. března 2012 15:30
-
15. března 2012 15:08Vlastník
Bonjour,
Merci pour avoir partagé avec nous la solution.
Bonne journée,
Cipri
Ciprian DUDUIALA, MSFT  
•Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.
-
22. března 2012 14:09
Bonjour,
J'imagine que <httpRuntime maxRequestLength="2147483647"/> est le problème, quel valeur t'avais met?
