2

问题适用于 IIS 6.0 和 .Net 3.5

ASP.Net 为每个 AppDomain 维护一个请求队列。如果 CLR 线程忙于执行,请求将移至此队列。

假设 1:我的假设是这个请求队列大小源自 IIS 6.0 元数据库属性,称为“AspRequestQueueMax”,默认值为 3000。这个假设是否正确?

可以使用 IIS 6.0 元数据库的“processModel”元素在工作进程级别设置可用于执行请求和接受传入请求/执行回调的工作线程和 IO 线程的数量。

假设 2:还有一个名为“ AspProcessorThreadMax ”的属性应用于每个虚拟目录级别,因此(假设)应用于每个 AppDomain 级别。

现在,如果我的假设(假设 2)成立,那么: 1. 无论在 Worker 进程级别配置的最大/最小工作线程数如何,每个域是否将 CLR 线程数限制为为 AspProcessorThreadMax 配置的值?还是该属性仅适用于 ASP 请求而不适用于 ASP.Net?

4

1 回答 1

1

AspXXX 属性是特定于 ASP 的。ASP.NET 使用的各种请求队列的大小通过 machine.config 中的设置进行配置。

具体来说,全局请求队列限制由machine.config 中的 < processModel requestQueueLimit > 属性配置。应用程序请求队列限制由 < httpRuntime appRequestQueueLimit > 属性在 Machine.config 中配置。

于 2012-06-06T06:47:48.800 回答