.Net Framework: исключение в w3wp.exe
Я разработал сайт с веб-формами в asp.net 3.5. Я запустил его с IIS. Это работало хорошо раньше. Но исключение произошло внезапно, когда я его отладил. Сообщение было
Произошло необработанное исключение Microsoft .Net Framework в w3wp.exe [XXXX]
Это происходит каждый раз, когда я пытаюсь запустить свое приложение, но когда я запускаю веб-сайт с Cassini, нет никаких исключений. При развертывании HTML-страницы в IIS нет исключения. Проблема возникает с приложением.net только на IIS.
Я перепробовал много решений, которые нашел здесь, но ни одно из них не помогло.
В чем дело? Кто-нибудь может помочь? Благодарю.
10 ответов
Я нашел сообщение в программе просмотра событий:
"Описание: процесс был прерван из-за внутренней ошибки во время выполнения.NET по IP 6B484BC2 (6B300000) с кодом выхода 80131506."
Это было вызвано обновлениями.Net Framework 4.5. Я удалил последнее обновление. Это решило проблему.
Совет: Как проверить программу просмотра событий. Visual Studio> Вид> Обозреватель серверов> SERVER_NAME > Щелкните правой кнопкой мыши "Журнал событий" > Запустите средство просмотра событий> Журналы Windows> Настройка.
Есть информация об ошибке: http://support.microsoft.com/kb/2640103/en-us. Но исправление доступно только по запросу в Microsoft.
Я не помню количество "вредных" обновлений. Но я думаю, что каждый сможет найти последние обновления, чтобы удалить их.
Это может быть вызвано в ASP.NET, когда возникает бесконечный цикл.
Типичным примером является рендеринг частичного представления, которое затем отображается в ASP.NET MVC.
Мы исправили эту иссе. Для нас это было из-за уровней разрешений для записи в журнал. Изменены разрешения в IIS.
Повторите этот шаг для каждого сайта.
- Откройте диспетчер IIS.
- Выберите сайт.
- Открытая аутентификация
- Изменить учетные данные "Анонимная аутентификация". Перейдите на использование идентификатора пула приложений.
- Сброс IIS
Я нашел решение. Просто следуйте инструкциям ниже.
1) Откройте IIS.
2) Зайдите в свой пул приложений.
3) Щелкните по нему правой кнопкой мыши -> Расширенные настройки...
4) В разделе "Модель процесса" измените "Идентифицировать" с "ApplicationPoolIndentity" на "LocalSystem".
5) Перезагрузите IIS.
У меня была похожая проблема, в основном проблема из-за кода, который идет в бесконечном цикле, заканчивая исключением stackru.
Просто прокомментировал весь код на домашней странице и попробовал, страница начала работать, а потом оставил без комментариев основные функции один за другим, выяснил, что рендеринг контроллера идет бесконечным циклом. Нашел исправление для этого.
Моя проблема заключалась в том, что DLL, которую нужно было загрузить моему приложению, больше не было в папке bin. Ищу в Event Viewer> Windows Logs> Application
Вот как я узнал, в чем проблема, и какая пропавшая DLL была причиной проблемы.
Если это исключение win32. Откройте диалоговое окно "Дополнительные параметры" пула приложений и установите для параметра "Включить 32-разрядные приложения" значение " Истина".
У меня была эта проблема, потому что мой пул приложений IIS для приложения был установлен на.NET 4.5 (Classic). Я переключил его на неклассический, перезапустил IIS и проблема исчезла.
Эта ошибка произошла для меня, потому что мой.dll, используемый сервером, отличался от версии.dll, используемой моим клиентским приложением.
Короче говоря: убедитесь, что ваше приложение и веб-сайт используют одни и те же DLL
Я вызывал асинхронные методы задачи из Parallel.ForEach. В разработке у меня не было проблем, но в производстве я получил эту ошибку. Полагаю, средств ТАК не хватило.
Я мог видеть журнал ошибок в журнале просмотра событий Windows, здесь он показывает трассировку стека.