메시지 보안 및 windows 자격 증명 유형을 사용하고 있습니다. 나는 스트리밍과 Mtom을 지금 당장 사용하고 있지는 않지만 앞으로 고려할 것입니다. 지금까지 WCF 서비스 설명서에서는 최대 2GB의 데이터를 전송할 수 있다고 명시했습니다. 나는 WCF 사양에 따라 20-40 MB의 데이터를 전송할 수 있다면 지금 생각보다 나쁘지만 지금은 나에게 도움이 될 것입니다.WCF의 10-40MB 데이터 전송
최대 10MB의 데이터를 WCF 서비스에서 클라이언트로 전송할 수 있지만 10MB를 초과하면 서버에서 클라이언트로 데이터를 전송하지 못하게되고 무엇이 있는지 잘 모릅니다.
웹 서비스에서 클라이언트로 개체 컬렉션을 전송하려고합니다. 데이터가 서버에서 클라이언트로 전송되지 않으면 오류 메시지가 표시되지 않습니다. 매우 이상합니다. 클라이언트 및 서버 바인딩 속성에서 전송 크기를 10MB로 설정하면 1650 개체의 컬렉션을 전송할 수 있지만 1900 년경에는 클라이언트에서 아무 것도 얻지 못합니다. 왜 ????
그냥 작동하도록 설정하려면 모든 속성을 최대로 설정하고 여전히 작동하지 않도록 설정하십시오. 아래 내가 클라이언트에있는 것입니다 :
<ws2007HttpBinding>
<binding name="KerberosBinding" maxBufferPoolSize="0" maxReceivedMessageSize="2147483647"
messageEncoding="Text" sendTimeout="00:10:00" closeTimeout="00:10:00"
openTimeout="00:10:00">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="4096" />
<security>
<message negotiateServiceCredential="true" establishSecurityContext="true"/>
</security>
</binding></ws2007HttpBinding>
나는 누군가가 답을 가지고 희망 :
다음<ws2007HttpBinding>
<binding name="CustomizeWs2007HttpBinding" sendTimeout="00:10:00" closeTimeout="00:10:00"
openTimeout="00:10:00" messageEncoding="Text" receiveTimeout="00:10:00"
maxBufferPoolSize="0"
maxReceivedMessageSize="2147483647"
>
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="4096" />
<security mode="Message">
<message clientCredentialType="Windows" negotiateServiceCredential="true" establishSecurityContext="true"/>
</security>
</binding></ws2007HttpBinding>
내가 WCF 서비스에 (서버)가 것입니다. 미리 감사드립니다.
Chris 님, 지금 협조 해 주셔서 감사 드리며 다른 모든 분들께 감사드립니다. 나는이 사이트의 새로운 회원이므로 어쨌든 아래에 붙여 넣은 나의 최종 솔루션을 어디에 둘 것인지 모르겠다.
15728640 = 15메가바이트
10485760 = 10메가바이트의 너무 큰
클라이언트 구성하지만 :
<behaviors>
<endpointBehaviors>
<behavior name="PServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="10485760"/>
</behavior>
</endpointBehaviors>
</behaviors>
및 엔드 포인트에서이를 참조 :
<endpoint address="http://localhost:53054/pservicehost/pservice.svc"
바인딩 = "ws2007HttpBinding"bindingConfiguration = "PServiceWs2007HttpBinding"behaviorConfiguration = "PServiceBehavior" 계약 = "PW ebServiceContract.IPService "이름 ="PServiceWs2007HttpBindingEndPoint ">
서비스 구성 :
<behaviors>
<serviceBehaviors>
<behavior name="PServiceHost.PServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="10485760"/>
</behavior>
</serviceBehaviors>
</behaviors>
과 서비스에서이를 참조 :
<services>
<service behaviorConfiguration="PServiceHost.PServiceBehavior" name="PWebService.PService">
<endpoint address="" binding="ws2007HttpBinding" bindingConfiguration="KerberosBinding" contract="PWebServiceContract.IPService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
나는 즉시 오류가 표시되지 않습니다,하지만 난 정기적으로 WCF (거대한 PDF 파일)에서 메시지 당 100 + MB를 전송할 수 있습니다. –
스트리밍을 사용하고있는 것처럼 들리십니까? – user633176