2

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

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

这是否比通过命名管道调用单个但较大的 wcf 调用或命名管道下的多个较小调用的方法提高了性能?将大量数据放入 httpcontext 是否会对性能产生影响?

4

1 回答 1

1

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

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

希望能帮助到你。

于 2012-12-20T10:42:26.730 回答