실패라는 이름으로 우리는 우리가 해결할 수없는 WCF 바인딩 및 스트리밍 전송 모드와 흥미로운 문제가 있습니다WCF 바인딩 구성은 기본적으로에만 적용하지만
우리는 스트리밍 전송 모드로 구성된 WCF 끝점을 가지고 있습니다. 엔드 포인트는 기본 크기 (~ 65KB)보다 훨씬 큰 메시지를받습니다. 따라서 우리는 바인딩 태그의 maxReceivedMessageSize 속성에 더 큰 메시지 크기를 지정했습니다. "원격 : 우리가, 우리는 다음과 같은 오류가 발생 엔드 포인트를 짝과 태그를 결합 엔드 포인트 태그의 bindingConfiguration 속성과 에 이름 속성으로 바인딩 할 때
문제는 서버가 오류를 반환했습니다 : (400) 잘못된 요청 ".
는 즉시 우리가 제거 할 때 모두가 오류없이 작동 bindingConfiguration 및 이름 속성.
<binding
name="BindingConfiguration" <---- and when this goes away
transferMode="Streamed" maxReceivedMessageSize="2147483647" >
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
그래서 그것은 단지 기본 (명시 적으로 명명 된 키없이) 바인딩으로 작동합니다
여기<service name="Services.DocumentService" behaviorConfiguration="ServiceBehavior">
<endpoint contract="ServiceContracts.IDocumentService" address="DocumentService"
binding="basicHttpBinding" name="basicHttpBinding"
bindingConfiguration="BindingConfiguration" <---- when this goes away
behaviorConfiguration="ServiceEndpointBehavior"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/Documents/"/>
</baseAddresses>
</host>
</service>
가 바인딩 구성입니다 : 여기
은 서비스의 정의 엔드 포인트입니다 . 이상하게도 우리는 서비스 호스트에서 바인딩 구성이 실제로 적용되었는지 (maxReceivedMessageSize가 올바르게 설정되었는지) 두 시나리오에서 확인할 수있었습니다. WCF의 버그 일 수 있습니까?서비스가 자체 호스팅됩니다.
어떤 아이디어라도 감사하게 생각하니?
당신은 "테스트"또는 뭔가 – Rajesh
우리는 심지어 'XX', 'XXX', 'Z'로, 다른 이름을 시도라고 BindingConfiguration 이외의 다른 이름으로 시도 해 봤나 :-) – Honzajscz
@Honzajscz 문제에 대한 해결책을 찾았습니까? 나는 정확히 같은 문제가 있으며 이름이 지정된 바인딩 구성에서 작동하지 않는 이유를 알 수 없습니다 ...다른 구성으로 호스트 할 다른 서비스가 있으면 더 이상 작동하지 않으므로 빈 문자열을 사용할 수 없습니다. 편집 : btw, 나는 streamed transferMode를 사용하고 있지 않다. – ken2k