I have WCF service, and I have a method when I want to pass parameter as big string (over 1mb)
I run this wcf and in WCF Test Client I changed configuration as is shown below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyService" sendTimeout="00:05:00"
maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
And when I try invoke this method I still have 413 request entity too large.
Best Answer
As Matt Burland suggested, you need to configure the service end as well as the client. See Configuring Services Using Configuration Files for details. The task is not much different from what you have done on the client end of the wire. Here's an excerpt from the aforementioned article.
I would suggest not setting everything to
int.MaxValue
as have aMaxReceivedMessageSize
set to 2GB opens you up to DOS (Denial-Of-Service) attacks and the like. The remarks section of theMaxReceivedMessageSize
property even states:You might just be trying to get it to work at this point, but it is far from recommended to leave it this way.