«Белый экран ничего» «Internet Explorer не может отобразить веб-страницу» - PullRequest
2 голосов
/ 24 мая 2011

У нас есть веб-сайт ASP.NET, который иногда блокирует страницы без содержимого, весь белый экран, который в конечном итоге истекает в IE, чтобы вернуть заголовок страницы ошибки IE «Internet Explorer не может отобразить веб-страницу». Обратите внимание на написание. Мы называем это «белым экраном ничего».

Журналы из IIS, без ошибок (без 400+ кодов состояния) и, фактически, показывают страницу, для которой IE переходит в «Белый экран ничего», как код состояния 200 в журналах IIS. Кроме того, внутренняя трассировка ASP.NET на стороне сервера показывает весь код, работающий должным образом.

Попытка воспроизвести эту ошибку трудна. Это не происходит последовательно. В лучшем случае, если мы откроем страницы, закроем их и повторим это как можно быстрее, это в конечном итоге произойдет при попытке открыть страницу и / или обновить кадр. Это не всегда одна и та же страница дважды.

Некоторые страницы используют элементы управления AJAX. Большинство используют GridViews. Некоторые используют Responce.Redirect. Ничего непротиворечивого.

Поиск причин «белого экрана ничего» или «Internet Explorer не может отобразить веб-страницу» повсеместно и, похоже, не связан.

Нам удалось перехватить один экземпляр «Белого экрана ничего» во время сеанса отладки Visual Studio 2008, где странный неизвестный поток был заблокирован с помощью стека вызовов ниже. Обратите внимание, я не знаю точно, связан ли этот стек вызовов или даже был ли он действительно заблокирован.

[Управлен ный переход]

System.dll! System.Net.SafeCloseSocket.InnerSafeCloseSocket.Accept (System.Net.SafeCloseSocket socketHandle, байт [] socketAddress, ref int socketAddressSize) + 0x13 байт System.dll! System.Net.Sockets.Socket.Accept () + 0x73 байта WebDev.WebHost.dll! Microsoft.VisualStudio.WebHost.Server.OnStart (объект не используется) + 0x35 байт mscorlib.dll! System.Threading._ThreadPoolWaitCallback.WaitCallback_Context (состояние объекта) + 0x2f байт mscorlib.dll! System.Threading.ExecutionContext.Run (обратный вызов System.Threading.ExecutionContext creationContext, System.Threading.ContextCallback, состояние объекта) + 0x6f байт mscorlib.dll! System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal (System.Threading._ThreadPoolWaitCallback tpWaitCallBack) + 0x53 байта mscorlib.dll! System.Threading._ThreadPoolWaitCallback.PerformWaitCallback (состояние объекта) + 0x59 байт

Ни одна из функций в этом стеке не связана с кодом, который мы написали. Мы провели поиск в «Internet Explorer не может отобразить веб-страницу» и в различных аспектах функции, вызываемой в этой трассировке, и, похоже, ничего не связано.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

В прошлый раз, когда я имел дело с такой проблемой, проблема была в Ответе, который занимал слишком много времени и / или IIS перерабатывал рабочие процессы.Поскольку это похоже на проблему с ресурсом (попытка сделать что-то, что требует слишком много времени, ресурсов процессора или памяти), особенности исправления могут быть разными.остановиться, если он ждет чего-то очень медленного.

0 голосов
/ 24 мая 2011

Я могу вспомнить две вещи. Проверьте процесс перезапуска IIS, он может перезапустить пул приложений до завершения вашего процесса. Проверьте программу просмотра событий на сервере, просмотрите сообщения об ошибках ASP.NET. Возможно, мы сможем помочь вам с информацией, которую вы можете получить оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...