Silverlight 在大型对象中找不到WCF错误
我在WCF服务呼叫中遇到问题。该服务接受一个复杂的对象,其中包含许多对象列表。当对象变得太大时,就会出现问题。我收到一个通信异常,该异常表示找不到。只要项目不太大,调用就会起作用。任何帮助都将不胜感激。以下是客户端配置文件的相关部分:Silverlight 在大型对象中找不到WCF错误,silverlight,wcf,client,Silverlight,Wcf,Client,我在WCF服务呼叫中遇到问题。该服务接受一个复杂的对象,其中包含许多对象列表。当对象变得太大时,就会出现问题。我收到一个通信异常,该异常表示找不到。只要项目不太大,调用就会起作用。任何帮助都将不胜感激。以下是客户端配置文件的相关部分: <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_ICartService" maxBufferSize="2147483647"
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ICartService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="../Services/CartService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICartService"
contract="AccessPoint.RichClient.Wcf.ICartService"
name="BasicHttpBinding_ICartService" />
</client>
web.config文件包含以下内容:
<bindings>
<basicHttpBinding>
<binding name="basicHttpLargeMessage" closeTimeout="00:02:00"
openTimeout="00:02:00" receiveTimeout="00:10:00" sendTimeout="00:02:00"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="CartService.CartServiceBehavior"
name="AccessPoint.WcfServices.CartService">
<endpoint address="" behaviorConfiguration="CartServiceBehavior"
binding="basicHttpBinding" bindingConfiguration="basicHttpLargeMessage"
contract="AccessPoint.WcfServices.ICartService" />
</service>
<behaviors>
<serviceBehaviors>
<behavior name="CartService.CartServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph ="2147483647"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="CartServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</endpointBehaviors>
</behaviors>
任何服务器错误都将作为未找到的异常反映在Silverlight中。您需要使用一些网络嗅探工具(如Fiddler)查看响应是否包含有关错误的其他信息,或者在服务器端查看它返回不成功响应的原因
在的帖子中有一段视频,其中有很多关于在Silverlight中调试WCF服务的信息。您能添加确切的异常和stacktrace吗?大的有多大?MB的?国标?TB?这是外部异常的堆栈跟踪:在System.ServiceModel.AsyncResult.End[TAsyncResult]IAsyncResult结果在System.ServiceModel.Channel.ServiceChannel.SendAsyncResult.EndSendAsyncResult结果在System.ServiceModel.Channel.ServiceChannel.EndCallString操作中,对象[]输出,System.ServiceModel.ClientBase1.ChannelBase1.EndInvokeString methodName处的IAsyncResult结果,对象[]args,AccessPoint.WcfServices.CartWcfS.CartWcfSClient.CartWcfSClientChannel.EndSaveCartIAsyncResult结果处的IAsyncResult结果和内部异常的堆栈跟踪:在System.Net.Browser.AsyncHelper.BeginNouisEndorPostCallback beginMethod处,System.Net.Browser.BrowserHttpWebRequest.EndGetResponseAsyncResult异步结果System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteTResponseAsyncResult的对象状态。我不确定消息的大小。这是一个复杂的物体,但我猜它不到1MB,我猜出来了。我有两个名称相似的服务——一个已被弃用。我使用了错误的配置名称。新服务尚未添加到web.config文件中。Fiddler中未显示任何内容,因此我猜测故障发生在发送任何内容之前。请尝试在服务器上启用跟踪,然后查看是否有其他信息。