A távoli szerver hibát adott: (411) Szükséges hossz

Amíg képeket töltünk fel a Coreservice StreamUploadClient.UploadBinaryContent módszerrel, az alábbi hibát kapjuk. “A távoli szerver hibát adott: (411) Hossz szükséges.” Értékelje a segítségét.

Köszönöm, Prasanna

megjegyzések

  • A dobozon kívüli alapszolgáltatási klienst használja? Vagy magad generáltál egyet?

Válasz

A 411 HTTP-állapot (hossz szükséges) általában felvetődik, amikor POST-ot csinál, de még nem adta meg a kérelem törzsének méretét (azaz a mentett tartalom hosszát).

Mivel nem “küldte el a kódját, ezért nem tudom” adjon konkrétabb javaslatot, mint: nézze meg a kérelem megadásához használt osztály tulajdonságait. Például, ha egy HttpWebRequest objektumot használ, van egy ContentLength tulajdonság, amelyet a feltöltött fájl bájtjainak számára kell beállítania.

Válasz

Az alkalmazásban nézze meg az időtúllépés és a maxRequestLength növelését. Itt van egy példa a web.config

<system.webServer> <directoryBrowse enabled="true"/> <security> <requestFiltering> <requestLimits maxAllowedContentLength="4000000000" maxUrl="10999" maxQueryString="9999"/> </requestFiltering> </security> </system.webServer> 

Megjegyzések

  • Köszönöm Robert, hol kell megemlítenünk ezeket a beállításokat, ha az app.config programot használjuk a konzolos alkalmazásokhoz
  • Remélem, hozzáadhat ezeket a beállításokat az IIS-ben is, és gondoskodni fog az Ön belső részleteiről
  • Szia Robert, a probléma továbbra is fennáll, a streamUpload_basicHttp fájlt és az alábbi konfigurációt használjuk < kötelező név = " 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 " > < olvasó Kvóták maxArrayLength = " 2147483647 " maxBytesPerRead = " 2147483647 " maxDepth = " 2147483647 " maxNameTableCharCount = " 2147483647 " maxStringContentLength = " 2147483647 " / > < / kötés >

Válasz

ha nem tudja, hogyan állítsa be az összerendelés konfigurációját a webes / alkalmazás konfigurációs fájlban, akkor hozzáadhatja a konfigurációt az ur kódra is, lásd az alábbi kódot.

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);

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük