Serwer zdalny zwrócił błąd: (411) Wymagana długość

Podczas przesyłania obrazów za pomocą metody Coreservice StreamUploadClient.UploadBinaryContent otrzymujemy poniższy błąd. „Serwer zdalny zwrócił błąd: (411) wymagana długość”. Doceniam twoją pomoc.

Dzięki, Prasanno

Komentarze

  • Czy korzystasz z podstawowego klienta usługi? A może sam go wygenerowałeś?

Odpowiedź

Status HTTP 411 (wymagana długość) jest zwykle podnoszony, gdy wykonują POST, ale nie określiłeś rozmiaru treści żądania (tj. długości zapisywanej zawartości).

Ponieważ nie wysłałeś kodu, nie mogę daje bardziej szczegółową sugestię niż: spójrz na właściwości klasy, której używasz do wykonania żądania. Na przykład, jeśli używasz obiektu HttpWebRequest, istnieje ContentLength, którą należy ustawić na liczbę bajtów przesyłanego pliku.

Odpowiedź

W swojej aplikacji spójrz na zwiększenie limitu czasu i maxRequestLength. Oto przykładowy plik web.config

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

Komentarze

  • Dziękujemy Robercie, gdzie powinniśmy wspomnieć o tych ustawieniach, jeśli używamy app.config dla aplikacji konsolowej
  • Mam nadzieję, że możesz dodać te ustawienia również w usługach IIS, które zadbają o szczegóły wewnętrzne.
  • Cześć Robert, problem nadal występuje, używamy streamUpload_basicHttp i poniższej konfiguracji < nazwa wiązania = " streamUpload_basicHttp " maxReceivedMessageSize = " 2147483647 " maxBufferSize = " 2147483647 " transferMode = " StreamedRequest " messageEncoding = " Mtom " openTimeout = " 05:00:00 " sendTimeout = " 05:00:00 " otrzymaszTimeout = " 05:00:00 " closeTimeout = " 05:00:00 " > < czytnik Limity maxArrayLength = " 2147483647 " maxBytesPerRead = " 2147483647 " maxDepth = " 2147483647 " maxNameTableCharCount = " 2147483647 " maxStringContentLength = " 2147483647 " / > < / binding >

Odpowiedź

jeśli nie jesteś pewien, jak ustawić konfigurację powiązań w pliku konfiguracyjnym sieci / aplikacji, możesz również dodać konfigurację bezpośrednio do kodu ur, zobacz poniższy kod.

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *