IIS7集成与经典管道 - 使用更多的ASP.NET线程?

时间:2010-02-25 21:30:23

标签: asp.net iis iis-7 pipeline integrated-pipeline-mode

使用集成管道,所有请求都通过ASP.NET传递,包括图像,CSS。

然而,在传统的管道中,默认情况下只有ASPX页面的请求通过ASP.NET传递。

集成管道是否会对线程使用产生负面影响?

假设我从IIS服务器请求500 MB二进制文件:

  • 使用集成管道,ASP.NET 将使用工作线程 用于二进制下载(对吧?)。
  • 使用经典管道,请求是 由IIS直接提供,因此没有ASP.NET 使用了线程。

对我来说,这有利于传统的管道,因为我希望尽可能多的线程来提供ASPX页面。

我完全不在这里吗?

2 个答案:

答案 0 :(得分:13)

如果查看IIS 7中的machine.config,web.config和applicationHost.config,您可以看到在经典管道和集成管道之间切换时,静态内容的提供方式不会改变。唯一改变的是映射到asp.net的请求是通过托管模块还是本机ISAPI过滤器模块。

唯一可能影响性能的方法是修改授权模块的默认设置以及在处理静态内容请求时添加的任何自定义模块。即使在这里,开销也可能微不足道。

因此,更合适的基准测试将是IIS 6与IIS 7,我怀疑IIS 7将是明显的赢家。

答案 1 :(得分:0)

我说你是对的,但我从另一个角度看待它。

您是否需要处理非ASPX页面的请求?例如,要记录它们,或者如果不满足某些条件则禁止响应。

如果您需要此处理功能,请使用集成管道。如果不这样做,请使用经典管道。