ASP.NET默认为STAThread还是MTAThread?

时间:2010-09-23 15:23:37

标签: asp.net

以下几个来源之一说ASP.NET默认为单线程单元,并且必须将“executeInMta”设置为true才能覆盖此行为(编辑:正如大家都指出的那样,我错了这里 - 这是指经典的ASP。我认为有更多的文档支持ASP.NET,但我错了):

http://www.iis.net/ConfigReference/system.webServer/asp/comPlus

以下是几个说明ASP.NET默认为多线程单元的来源之一,并且您必须将“aspCompat”设置为true才能覆盖此行为:

http://www.west-wind.com/presentations/howaspnetworks/howaspnetworks.asp

那么,这是什么?我目前不执行上述任何操作,我希望处于MTA模式。相关问题 - 有没有办法通过调试来判断当前正在执行的线程是STA还是MTA?

谢谢。

2 个答案:

答案 0 :(得分:1)

您链接的第一篇文章是指ASP,而不是ASP.NET。经典ASP默认使用STA,而ASP.NET默认使用MTA。

答案 1 :(得分:1)

您的第一个参考是来自IIS7的ComPlus配置设置,并且似乎适用于传统ASP。

默认情况下,ASP.NET线程是MTA。