У нас есть веб-сайт 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 не может отобразить веб-страницу» и в различных аспектах функции, вызываемой в этой трассировке, и, похоже, ничего не связано.
Есть идеи?