Mens vi uploader billeder ved hjælp af Coreservice StreamUploadClient.UploadBinaryContent-metoden, får vi nedenstående fejl. “Fjernserveren returnerede en fejl: (411) Længde krævet.” Giv din hjælp tak.
Tak, Prasanna
Kommentarer
- Bruger du den ud af kassen kernetjenesteklient? Eller har du genereret en selv?
Svar
HTTP-status 411 (krævet længde) hæves normalt, når du laver en POST, men har ikke specificeret størrelsen på anmodningen (dvs. længden på det indhold, du gemmer).
Da du ikke sendte din kode, kan jeg ikke “t give dig et mere specifikt forslag end: se på egenskaberne for den klasse, du bruger til at gøre anmodningen. Hvis du f.eks. bruger et HttpWebRequest
objekt, er der et ContentLength
egenskab, som du skal indstille til antallet af byte i den fil, du uploader.
Svar
I din applikation skal du se på at øge timeout og maxRequestLength. Her “er et eksempel på web.config
<system.webServer> <directoryBrowse enabled="true"/> <security> <requestFiltering> <requestLimits maxAllowedContentLength="4000000000" maxUrl="10999" maxQueryString="9999"/> </requestFiltering> </security> </system.webServer>
Kommentarer
- Tak Robert, hvor skal vi nævne disse indstillinger, hvis vi bruger app.config til konsolapplikation
- Jeg håber du kan tilføje disse indstillinger også i IIS, og det tager sig af de interne detaljer for dig
- Hej Robert, Stadig problemet vedvarer, vi bruger streamUpload_basicHttp og konfigurationen nedenfor < bindende navn = " streamUpload_basicHttp " maxReceivedMessageSize = " 2147483647 " maxBufferSize = " 2147483647 " transferMode = " StreamedRequest " messageEncoding = " Mtom " openTimeout = " 05:00:00 " sendTimeout = " 05:00:00 " receiveTimeout = " 05:00:00 " closeTimeout = " 05:00:00 " > < læser Kvoter maxArrayLength = " 2147483647 " maxBytesPerRead = " 2147483647 " maxDepth = " 2147483647 " maxNameTableCharCount = " 2147483647 " maxStringContentLength = " 2147483647 " / > < / binding >
Svar
hvis du ikke er sikker på, hvordan du konfigurerer bindingskonfigurationen i web / app-konfigurationsfil, kan du også tilføje konfigurationen på ur-koden direkte se nedenstående kode.
BasicHttpBinding basicHttpBinding = new BasicHttpBinding { MaxReceivedMessageSize = 10485760, ReaderQuotas = new System.Xml.XmlDictionaryReaderQuotas { MaxStringContentLength = 10485760, MaxArrayLength = 10485760 }, MessageEncoding = WSMessageEncoding.Mtom, Security = new BasicHttpSecurity { Mode = BasicHttpSecurityMode.None, } }; EndpointAddress remoteAddress = new EndpointAddress("http://domain paths/CoreService2011.svc/streamUpload_basicHttp"); StreamUploadClient client = new StreamUploadClient(basicHttpBinding, remoteAddress);