首页新闻找找看学习计划

调用WCF服务端方法,方法执行时间过长,怎么处理比较合理?

0
悬赏园豆:30 [已解决问题] 解决于 2013-05-15 08:31

调用wcf 服务端某个方法时,该方法执行时间非常长 大约1个多小时左右。将sendTimeOut设置为2个小时甚至3个小时,是否合理?????

我目前是服务端使用异步委托处理比较耗时的代码,放弃返回执行结果,类似于单向模式,但是异步处理没办法拿到准确的执行结果。。 有没有什么更好的办法???

hehe04的主页 hehe04 | 初学一级 | 园豆:175
提问于:2013-05-12 22:53
< >
分享
最佳答案
0

有可能的,有些任务确实需要这么长。既然这么长,那就别异步什么的了,客户端往服务器端请求后,就别管了,以后轮询服务端。双方通过一个中介交互,这个中介记录任务的key,和任务的结果。客户端发出请求并等级这个任务,服务端执行完或者出现异常,都往key代表的存储里写结果。至于中介,最简单的就是用服务端的内存或者数据库咯,不怕麻烦还可以搞mq。

收获园豆:20
arg | 小虾三级 |园豆:1047 | 2013-05-13 10:03
其他回答(3)
0

1个多小时,这个本身就不太正常。

路过秋天 | 园豆:4746 (老鸟四级) | 2013-05-13 00:41
0

做一个后台处理模块,大任务量的全部放在这里面,等任务的状态信息放在数据库里储存,让用户在后台任务模块查询状态信息。1个多小时的就不要让用户等待什么的。

收获园豆:5
呆呆蚁 | 园豆:231 (菜鸟二级) | 2013-05-13 13:43
0

你这种可以通过 异步处理 在数据库 记录 处理进度来解决。

收获园豆:5
geass.. | 园豆:1755 (小虾三级) | 2013-05-14 10:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册