2011-02-07 7 views
6

Еще в октябре мы обновили один из наших сайтов (на IIS 6) с .net 3.5 до .net 4.0. С тех пор мы получали следующее предупреждение и ошибки в значительной степени каждый день:Ошибки IIS с момента обновления до точки net 4

Предупреждение:

ISAPI 'c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.

Ошибка:

It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.

Мы проверили все приложения и убедиться, что они работают на правильные версии ASP.NET, а также в их собственных отдельных пулах приложений.

Мы рассмотрели журналы IIS во время записи ошибок, но это не дает никаких указаний относительно проблемы. Есть ли доступный инструмент, который может дать нам больше информации о том, какое приложение вызывает ошибки и что происходит в то время?

ответ

1

Обсуждение here может быть полезно для вас, а также:

You can configure the application pool to orphan the worker process rather than kill it when this condition happens - you can then use adplus to collect a hang dump of the worker process which can be analyzed to figure out what in the process is deadlocked.

(...)

It means that the asp.net thrads have not returned from whatever activity they were doing for a very long time and asp.net has run out of threads - this would normally indicate deadlock. This kb also talks about how to generate dumps for analysis for this condition.

0

Я имел точно такую ​​же ошибку, и это было связано с .NET 2.0 пользовательскую страницу ошибки, на которую ссылалось мое приложение .NET 4.0.

Я создал настраиваемую страницу ошибок, которая была разработана в .NET 2.0 и была применена на верхнем уровне веб-сайта IIS.

Приложение .NET 4.0 использовало уникальную схему маршрутизации URL-адресов MVC, и по какой-то причине именно это приложение блокировалось, и в конечном итоге возникли такие ошибки взаимоблокировки.

Я избавился от настройки страницы пользовательской ошибки, которая указала на веб-страницу .NET 2.0 и переключила ее на статическую ошибку по умолчанию «Not Found». Я перезапустил пул приложений, и веб-страница начала работать без проблем.

Надеюсь, что это поможет кому-то еще.

http://adamantinewolverine.blogspot.kr/2012/10/running-iis6-in-32-bit-mode-on-64bit.html

Смежные вопросы