如何在一个中合并多个wcf服务调用

时间:2016-02-15 07:19:03

标签: c# wcf caching

我有一个拥有许多用户的网站(asp.net + c#)。该网站称为非常慢的wcf服务。如何将所有呼叫合并为一个?我应该使用什么技术/方法/想法?用户不应该长时间锁定。该站点缓存服务结果,但每小时一次它会刷新缓存,所有用户都会在一瞬间调用wcf服务。

更多信息: 刷新缓存后,站点会询问服务。如果所有用户询问服务(有很多用户),该服务将会死亡。是否可以从10000个用户只进行1次呼叫?好的,该站点使用缓存,但服务响应时间约为30-60秒。如果所有用户在30秒内一次性请求服务,则将有10000次服务呼叫。它会死的。我应该使用“锁定”之类的东西吗?但我不想锁定所有网站用户。

1 个答案:

答案 0 :(得分:1)

如果您没有要求回答的数据,则必须加载它。虽然它加载所有将等待,因为加载时没有什么可以发回

因此,您必须始终准备好回传数据。你怎么能这样做?在后台模式下更新缓存(在刷新之前准备新缓存并更新,暂时更新...)

另一种方法是在wcf完成工作(异步调用)时不在客户端等待。制作两种方法:一种是开始一些长时间的工作,另一种是长期的工作结果。

然后你有两个技术:推送和拉动通知。 Clint有时会调用第二种方法来询问结果,或者wcf在完成工作时调用客户端。