由于数据限制,查询的加载操作失败

时间:2013-01-29 14:14:39

标签: silverlight iis-7 entity-framework-4 wcf-ria-services

我们有一个silverlight应用程序,它与RIA服务接口以获取要在网格中显示的联系人列表,这通常有效但是我们收到以下错误:

load operation failed for query x. the remote server returned an error: notfound

通过我们确定这是因为我们传递的数据量很大,因为如果我们传递大约3,800条或更少的记录,它将会起作用。我们需要从数据库中加载至少15,000条记录。

我已经在互联网上搜索了一个解决方案并更改了以下设置,但似乎没有任何效果。

更改的设置为:

  • 在IIS7中,将ASP设置“响应缓冲限制”更改为67108864
  • 在IIS7中,将ASP设置“Maximum Requesting Entity Body Limit”更改为2000000
  • 在IIS7中,将ASP设置“客户端连接测试间隔”更改为00:00:10
  • 在我们的应用程序中,web.config将'maxItemsInObjectGraph'更改为2147483647
  • 在我们的应用程序中,web.config绑定属性'maxReceivedMessageSize','maxBufferSize'和'maxBufferPoolSize'都设置为200000000
  • 在我们的应用程序中,web.config readerQuotas属性'maxArrayLength','maxStringContentLength','maxBytesPerRead','maxNameTableCharCount'都设置为200000000

这是在带有IIS7的Server 2008 R2上使用.Net 4设置的。

使用ASP.NET Development Server在调试器中运行时也会发生此错误。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

也许您的Web.config中的项目数量太少,您也可以在此类错误中启用详细信息以获取更多详细信息(如果这不是修复程序。)

<services>
  <service name="Service.Class.Full.Name"
           behaviorConfiguration="Service_Behaviour_Name" />
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="Service_Behaviour_Name">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
      <dataContractSerializer maxItemsInObjectGraph="65536" />
    </behavior>
 </behaviors>

Service.Class.Full.Name需要您是完全合格的服务类名称。 Service_Behaviour_Name可以是任何内容,但默认设置似乎是-而不是.

的完整服务类名称