Llamo a un servicio web WCF localmente (o de forma remota) que funciona bien con pequeñas cantidades de datos (unas 25 líneas de < 1K de datos ea). Pero cuando los datos se vuelven más grandes (alrededor de 300 líneas) el servicio web falla. A continuación se muestra la excepción, excepción interna y Stack Trace de la excepción interna.El servicio web WCF falla al recibir datos grandes
El servicio también parece tardar inusualmente largo en ejecutarse localmente (lo agrego porque puede darle alguna pista para resolverlo). Obtener la gran cantidad de datos toma 3s del lado del servidor y el pequeño de los datos toma 1s del lado del servidor. Sin embargo, ejecutar el servicio web (localmente) para recuperar la pequeña cantidad de datos toma 24 segundos.
También tengo incluida la información de enlace de la aplicación.config de la aplicación de prueba de mi cliente.
========= información vinculante ===========
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IFormsService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="02:00:00" sendTimeout="00:02:00"
allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="1000000000"
maxArrayLength="1000000000"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None"
proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint
address="http://monica-pc/TrialIQSvc/FormsService.svc/FormsService/FormsService.Svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IFormsService"
contract="WebService.IFormsService" name="BasicHttpBinding_IFormsService" />
</client>
EXCEPCIÓN ========= =============
**Exception**: An error occurred while receiving the HTTP response to http://monica-pc/TrialIQSvc/FormsService.svc/FormsService/FormsService.Svc. This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.
**Inner Exception**: The underlying connection was closed: An unexpected error occurred on a receive.
**Stack trace**:
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)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Test.WebService.IFormsService.GetFormGroupInstance(String formGroupId, String subjectId, String userId)
at Test.WebService.FormsServiceClient.GetFormGroupInstance(String formGroupId, String subjectId, String userId) in G:\SVNTrialIQ\trunk\Common\trunk\source\Forms\Test\Service References\WebService\Reference.cs:line 59
at Test.Form1.btnInstanceInfo_Click(Object sender, EventArgs e) in G:\SVNTrialIQ\trunk\Common\trunk\source\Forms\Test\Form1.cs:line 408
¡Sí! Eso lo hizo. No pude obtener un registro de seguimiento para que aparezca en mi máquina de desarrollo (Vista). Pero, cuando miro la interfaz de IIS 7 provista con Vista, debo admitir que me hace sentir que nunca antes había tocado una computadora en mi vida. Así que no hice demasiada solución de problemas. –
Sin embargo, al ejecutar el código de seguimiento en web.config en mi servidor Win2003, se reveló que se trataba de un error de tipo debido a la herencia, que no está relacionado, pero que se describe muy bien aquí: http://developers.de/blogs/damir_dobric/archive /2009/03/24/about-quot-knowntypeattribute-quot-example.aspx –