Назад | Перейти на главную страницу

Приложение IIS7 / .NET4 - как предотвратить взаимоблокировки?

У меня проблема с приложением .NET 4, которое я пытаюсь загрузить на свой сервер IIS7. У него есть ошибка, из-за которой при многократном попадании в него во время попытки выхода - изначально или из-за повторного использования - он навсегда блокируется.

Я пытаюсь найти способ либо предотвратить поступление трафика к нему во время его инициализации, либо, в худшем случае, сделать все это «однопоточным», чтобы он никогда не мог получить два запроса одновременно. Я уже запускаю только один рабочий процесс, но это не помогает. Идеи? Спасибо...

Похоже на плохо написанное приложение. Я не знаю, что вы действительно можете сделать, кроме проверки и исправления исходного кода приложения.

У вас есть доступ к источнику или разработчику?

Я попытался добавить ограничения на

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Aspnet.config

<?xml version="1.0" encoding="UTF-8" ?> <configuration>   <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="1"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />   </system.web>
    <runtime>
        <legacyUnhandledExceptionPolicy enabled="false" />
        <legacyImpersonationPolicy enabled="true"/>
        <alwaysFlowImpersonationPolicy enabled="false"/>
        <SymbolReadingPolicy enabled="1" />
        <shadowCopyVerifyByTimestamp enabled="true"/>
    </runtime>
    <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration>

За http://msdn.microsoft.com/en-us/library/dd560842.aspx http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx

Но не вышло, все равно зашло в тупик. Пытался установить потоки на 1, но тогда рабочий процесс даже не запустился.