Windows Server 2008 上の IIS7.5 で実行されている ASP.NET MVC アプリケーションで許可されるマネージド スレッドの数を制限しようとしています。さまざまなアプローチを試みましたが、どれも期待どおりに機能していないようです。によって報告されたスレッド数を制限する
Threading.Thread.CurrentThread.ManagedThreadId
ASP/behaviour/limits プロパティ/プロセッサあたりのスレッド数の制限も変更しようとしましたが、それでも別のスレッド ID を持つ新しいスレッドが取得されます。
使用されるたびに同じスレッドIDを持つ限られた数のスレッド(たとえば5〜10)が本当に必要です。
現時点では、次の構成ファイルがあります
<configuration>
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="1" maxConcurrentThreadsPerCPU="1" requestQueueLimit="5000"/>
</system.web> </configuration>
applicationhost.config が指す
<applicationPools>
<add name="DefaultAppPool" enable32BitAppOnWin64="true" CLRConfigFile="C:\Inetpub\wwwroot\SCRWeb\Data\apppool.config">
<processModel identityType="NetworkService" />
</add>
それでも、Threading.Thread.CurrentThread.ManagedThreadId によって報告されるように、アプリケーションに複数のスレッド ID が表示されます。
何か案は?
ありがとう