.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.

Повторите этот шаг для каждого сайта.

  1. Откройте диспетчер IIS.
  2. Выберите сайт.
  3. Открытая аутентификация
  4. Изменить "Анонимная аутентификация" учетные данные. Перейдите на использование идентификатора пула приложений.
  5. Сброс 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.