求 silverlight 数据量大的时候的解决方案
项目: 一个仓库系统 和 一个独立的WCF工程
数据: Entity Data Model
问题: 在查询700条数据正常显示,查询1000多条的时候报错:超时。
在我修改了仓库系统的ServiceReferences.ClientConfig以后,报错:远程服务器返回了错误: NotFound。
代码配置文件:
仓库系统
1.ServiceReferences.ClientConfig:
<binding name="BasicHttpBinding_IWhService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<security mode="None" />
</binding>
2.Web.config
由于是添加了外部wcf项目的引用,没有配置 <system.serviceModel>,也就说Web.config没有手动配置。
求配置详细方法。
注意:不要这种引用silverlight-enadle wcf service的配置。
WCF工程
1.Web.config
<service name="WhService.WhService">
<endpoint address="" binding="basicHttpBinding" contract="WhService.IWhService">
<identity>
<dns value="192.168.145.1" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://192.168.145.1/wcf/WhService.WhService.svc" />
</baseAddresses>
</host>
</service>
由于先前看到大虾们的帖子,在出现‘超时’时,要求配置Web.config和ServiceReferences.ClientConfig
我现在只是配置了ServiceReferences.ClientConfig
像我这种独立的wcf项目,怎样配置服务器Web.config
还是需要手动配置仓库系统的 Web.config
谢谢 求解!
[解决办法]
问题: 在查询700条数据正常显示,查询1000多条的时候报错:超时。
如果超时时间设置过短,你可以通过修改wcf配置;如果超时时间设置的足够长还出现这错误,你首先应该优化的是wcf服务端的查询或者数据库端的查询,不建议把超时时间设置过长,一般web应用中如果查询时间超过半分钟,可以说已经是极低的用户体验了
[解决办法]
完全可以用分页进行查询和显示,每页就显示30条够了。
自己做一个分页控件。我目前就是这样做的。反正每次请求的数据就是30条。
[解决办法]
使用take或分页
[解决办法]
两种解决方案:
1.使用数据库端或者WCF端得分页机制,每次只通过网络传输10条或者20条数据
2.另外将传输的实体类集合数据格式化为Json字符串可以大大的减少数据传输量。
你也可以两种解决方案同时使用。
[解决办法]
推荐在数据中使用存储过程分页 WCF每次取出其中一页
[解决办法]
是不是你的传输的数据量太大了啊,你可以用fiddler这个控件抓包看看,然后看看具体的错误
[解决办法]
分页就可以了
[解决办法]
1000多行 也不算太大吧
[解决办法]
你是用的wcf ria service?