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