I am using Message security and windows credential type. I am not using streaming and Mtom for some reason right now but might consider in the future. So far WCF service documentation specifies that you can transfer max up to 2GB of data. I am thinking if I can transfer 20-40 MB of data according to WCF specification, that will work for me now even though this is bad for now.
I can transfer data up to 10MB from WCF Service to Client but when I try to increase more than 10MB something is stopping it from transferring data from server to client and I don’t know what.
I am transferring collection of objects from Web Service to Client.
When data doesn’t transfer from Server to Client, I don’t get any error message, this is very weird. When I set below transfer sizes to 10MB in client and server binding properties, I can transfer around collection of 1650 objects but when its around 1900, I don’t get anything on client ???? WHY ????
Just to make it work I set all require property to max and its still not working.
Below is what I have in Client:
<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>
Below is what I have in WCF Service(Server):
<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>
I hope somebody has an answer.
Thank you so much in advance.
Thank you Chris, its working now and Thank you for all others for your response.
I am a new member to this site so don’t know where to put my final solution, anyway its pasted below:.
15728640 = 15MB
10485760 = 10MB though its too big
Client Config:
<behaviors>
<endpointBehaviors>
<behavior name="PServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="10485760"/>
</behavior>
</endpointBehaviors>
</behaviors>
and reference it from endpoint:
<endpoint address="http://localhost:53054/pservicehost/pservice.svc"
binding=”ws2007HttpBinding” bindingConfiguration=”PServiceWs2007HttpBinding” behaviorConfiguration=”PServiceBehavior”
contract=”PWebServiceContract.IPService” name=”PServiceWs2007HttpBindingEndPoint”>
Service Config:
<behaviors>
<serviceBehaviors>
<behavior name="PServiceHost.PServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="10485760"/>
</behavior>
</serviceBehaviors>
</behaviors>
and reference it from service:
<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>
Maybe it has something to do with this throttle setting: