我们可以通过单个WCF调用替换多个WCF调用吗?

时间:2012-12-20 00:48:29

标签: c# performance wcf httpcontext

我目前正在使用mvc4应用程序从一组wcf服务中读取数据。目前,当用户点击页码时,如果触发wcf请求以获取页面的不同部分的数据。我想提高它的表现。

我的想法是,当用户登陆页面时,会进行单个wcf调用,该调用将检索多个调用先前执行的所有必要数据,并将数据从中放入用户请求httpcontext。

这种方法的性能是否优于单一但更大的wcf调用命名管道或命名管道下的多个小调用?将大量数据放入httpcontext是否有任何性能影响?

1 个答案:

答案 0 :(得分:1)

我认为你试图通过产生更多问题来解决一个问题。 如果您一次查询所有数据并存储在httpcontext中,它将加快打开新页面的性能,但是第一次打开页面需要相当长的时间。此外,如果每个用户在httpcontext中存储数据时,如果一次有多个用户,则可能会很容易耗尽内存。

我认为首先你需要将问题本地化并找出性能不佳的根本原因。它可能是查询,也可能是某些数据库锁。 在任何情况下,缓存都是一个好主意,但不要使用httpcontext。使用ASP.NET cahe或某些分布式缓存,如App Fabric。这些工具将为您提供许多内置功能,您可以更轻松地扩展应用程序。

希望它有所帮助。