我有一个使用 WCF 使用 Web 服务的客户端 .NET 应用程序。服务调用是并发执行的,可以请求相同的资源。
我应该如何避免发起多个资源请求?
我试过的:在调用后端的客户端服务中,我使用 ConcurrentDictionary 来缓存请求,不幸的是,这不会阻止对同一资源的请求,只会将重复的缓存项添加到字典。我考虑过对类似的请求进行排队,并在通过返回的请求后对其进行响应。那票价如何?我试图不重新发明轮子,但我认为这个问题应该相当普遍。
我想避免使用锁来序列化所有可能的资源请求,因为我试图访问的后端服务器使用负载均衡器来提高性能,我想利用它。
我不能做什么:实现服务器端缓存(我无权访问它)或弄乱 WCF 设置。感谢您的任何帮助/建议。
注意:我已经在网站上搜索可能的重复项,但找不到任何可以解决我的问题的内容。