Почему Asp.Net перестает отвечать на запросы с удаленных компьютеров, но продолжает работать локально? - PullRequest
0 голосов
/ 08 января 2010

У нас есть веб-приложение Asp.Net 2.0, которое работает на IIS (я пробовал 5.1 на XP и 6.0 на 2003 с теми же результатами), оно работает ненадолго, а затем перестает отвечать на запросы. Странно то, что запросы от локального сервера (используя «localhost» или ip) продолжают работать нормально. Но все запросы страниц с других машин просто истекают. Я не вижу никаких признаков того, что эти запросы вообще попадают в Asp.Net.

Я уверен, что приложение использует больше фоновых потоков, чем ему действительно нужно через ThreadPool, примерно порядка 40. Однако я бы хотел немного лучше понять проблему, прежде чем я уйду об исправлении. Я пытался увеличить лимит, используя метод SetMaxThreads, но безуспешно. GetMaxThreads указывает на наличие множества доступных тем.

Есть идеи, что мне следует искать? Это проблема IIS или Asp.Net? Спасибо!

1 Ответ

1 голос
/ 08 января 2010

У меня такое уже было в одном из моих приложений. Я использовал PerfMon, чтобы локализовать то, что происходило с коробкой (используя объекты производительности ASP.NET и ASP.NET Apps). В моем конкретном случае мне сказали, что запросы поступают в .NET DLL, и это была проблема кода. Это было довольно легко исправить после того, как это было идентифицировано, но YMMV.

Я думаю, вам нужна дополнительная информация, и вы получите ее с помощью PerfMon.

...