0

我有一个带有 Web 层的 Web 应用程序是 ASP.NET MVC 3 Web 应用程序,服务层是 WCF,数据库是 MSSQL

在这篇文章中:http: //blogs.msdn.com/b/tmarq/archive/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications.aspx,它提到我应该进行异步处理“当切换线程的好处超过上下文切换的成本时。”,“例如,如果您向远程服务器发出异步 Web 服务请求

这是否意味着,在每个请求中,我都应该尽可能多地尝试使用异步处理(在 ASP.NET MVC 中,我假设它是异步控制器而不是 ASP.NET 中的 PageAsyncTask,如果我错了,请纠正我)只要有调用 WCF 服务(或者如果我不使用 WCF 服务,那么每当我调用数据库时)以增加服务器的吞吐量,增加服务器一次可以处理的请求数?

另一个有点相关的问题:有没有人知道或可以指出一篇文章,解释从这样的 Web 层连接到 WCF 时的连接限制?我听说 WCF 的限制是一次 5 个并发连接,但无法确认。如果是5个并发连接,是否意味着瓶颈在WCF中,即使我增加了web层的吞吐量?

非常感谢你

4

1 回答 1

2

这是否意味着,在每个请求中,我都应该尽可能多地尝试使用异步处理

只有当您有 I/O 操作(远程 HTTP 调用,如 WCF 服务调用、数据库调用......)时,这样做才有好处。但是,只有在执行大量负载测试并确定同步调用是您的应用程序的瓶颈时,您才应该这样做,以防您有如此高的处理要求。在大多数情况下,异步代码的复杂性和难以发现错误的风险超过了好处。

有谁知道或可以向我指出一篇文章,解释从这样的 Web 层连接到 WCF 时的连接限制?

我不知道存在这种限制。

于 2013-04-12T09:44:35.900 回答