원격 서버에서 오류를 반환했습니다. (411) 길이 필요

Coreservice StreamUploadClient.UploadBinaryContent 메서드를 사용하여 이미지를 업로드하는 동안 아래 오류가 발생합니다. “원격 서버에서 오류를 반환했습니다 : (411) 길이가 필요합니다.” 도움을 주셔서 감사합니다.

감사합니다. Prasanna

댓글

  • 기본 핵심 서비스 클라이언트를 사용하고 있습니까? 아니면 직접 생성 했습니까?

답변

HTTP 상태 411 (필요한 길이)은 일반적으로 POST를 수행하고 있지만 요청 본문의 크기 (예 : 저장중인 콘텐츠의 길이)를 지정하지 않았습니다.

코드를 게시하지 않았으므로 나는 할 수 없습니다. 요청을 수행하는 데 사용중인 클래스의 속성을 살펴보십시오. 예를 들어 HttpWebRequest 개체를 사용하는 경우 속성은 업로드하는 파일의 바이트 수로 설정해야합니다.

Answer

애플리케이션에서 시간 제한 및 maxRequestLength를 늘리십시오. 여기 “샘플 web.config

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

댓글

  • Robert에게 감사합니다. 콘솔 애플리케이션에 app.config를 사용하는 경우 이러한 설정을 어디에 언급해야합니까?
  • 추가 할 수 있기를 바랍니다. 이 설정은 IIS에서도 마찬가지이며 내부 세부 정보를 처리합니다.
  • 안녕하세요, 여전히 문제가 지속됩니다. streamUpload_basicHttp 및 아래 구성을 사용하고 있습니다. < binding name = " 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 " > < 독자 할당량 maxArrayLength = " 2147483647 " maxBytesPerRead = " 2147483647 " maxDepth = " 2147483647 " maxNameTableCharCount = " 2147483647 " maxStringContentLength = " 2147483647 " / > < / binding >

답변

웹 / 앱 구성 파일에서 바인딩 구성을 설정하는 방법을 잘 모르는 경우 아래 코드를 참조하여 ur 코드에 구성을 직접 추가 할 수도 있습니다.

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

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다