Hi folks,
I have created an WCF-Service that runs an operation on a W2008-Server and returns a datastructure as a result. Problem is, that this result can be larger, than the standard service configuration seems to accept. So I tried to increase (or remove) this maximum size, but it seems, I didn't found the correct properties.
In the App.config of the WCF, I changed the following values of my basicHttpBinding:
- MaxBufferPoolSize -> 6553600
- MaxBufferSize -> 6553600
- MaxReceiveMessageSize -> 6553600
ReaderQuotas:
- MaxArrayLenght -> 0
- MaxBytesPerRead -> 0
- MaxDepth -> 0
- MaxNameTableCharCount -> 0
- MaxStringContentLength -> 0
I then start the WCF-Testclient to call the service. I make sure, that the values for the properties of the basicHttpBinding are equal to the ones in the configuration. When I call the service in a way, that the result set is rather small, everything works fine. But when this size is increased, I eventually get the error (translated from german):
Error while receiving http answer for http://localhost:8731/Design%5FTime%5FAddresses/DiscoDataSource/Service1/. Possible reasons: Endpointbinding doesn't use the HTTP protocol or the HTTP-requestcontext was canceled by the server.
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
I would like to configure the service to return the result regardless of the size. Anybody knows, where I need to change the configuration?
Thanks in advance, Frank