防止客户端应用程序中对同一资源的并发请求

时间:2013-09-10 18:52:19

标签: c# caching concurrent-programming

我有一个客户端.NET应用程序,它使用WCF来使用Web服务。服务调用是并发执行的,可以请求相同的资源。

我应该如何保持多个资源请求的发起?

我尝试过: 在调用后端的客户端服务中,我使用ConcurrentDictionary来缓存请求,遗憾的是,这不会保留对同一资源的请求,只会将重复的缓存项添加两次到字典中。我考虑排队类似的请求并在通过返回的请求之后响应它们。那票价怎么样?我试图不重新发明轮子,但我认为这个问题应该相当普遍。

我想避免使用锁来序列化所有可能的资源请求,因为我尝试访问的后端服务器使用负载均衡器来提高性能,我想利用它。

我不能做的事:实现服务器端缓存(我无法访问它)或弄乱WCF设置。 感谢您的任何帮助/建议。

注意:我在网站上搜索可能的重复内容,但找不到任何解决我问题的内容。

0 个答案:

没有答案