Сбой приложения Asp.net на живом сервере, пока мы работаем на нем, при перезапуске IIS снова работает - PullRequest
0 голосов
/ 08 октября 2018

Мое приложение asp.net иногда падает на живом сервере, когда мы работаем над ним.Все пользователи сталкиваются с желтым экраном ошибок [Исключения]. И выдает десятки исключений в журнал исключений.

[Получить] найти 0 строк таблицы

Это исключение происходит случайноне на определенном месте или конкретном клике.Но когда я перезапускаю свое приложение на IIS, приложение работает нормально.но снова несколько часов появляется такая же проблема.

Когда я пытаюсь повторно войти, чем приложение не находит мои учетные данные.но после перезапуска IIS.Я успешно вошел в приложение с теми же учетными данными.

Резюме: не найти конкретную причину сбоев.Работает нормально при перезапуске IIS.

  1. В раскрывающемся списке не найдены данные из источника данных
  2. Таблица сетки находит 0 строк при доступе к таблице.

, когда к той же самой сетке и выпадающему списку есть доступ после перезапуска IIS, у него есть данные.

Примечание: кажется, что мы потеряли соединение с базой данных.но на самом деле он имеет соединение, но не находит в нем данных

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

После долгих поисков я нахожу глубину проблемы, и проблема заключается в утечке памяти.

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

некоторые полные ссылки используют: ссылка 1 ссылка 2

Правильное решение проблемы очень трудоемко и требует умения полноценного человека.Решение для временной основы заключается в том, что когда ваше приложение не работает, вам необходимо программно выполнить сброс МКС.

Process.Start (@ "C: \ WINDOWS \ system32 \ iisreset.exe", "/ noforce");

или

Процесс p = новый Процесс ();p.StartInfo = new ProcessStartInfo ("iisreset.exe");p.Start ();

Я знаю, что это не очень хорошее решение, но это может снять давление с вашей головы.

Для правильного решения, проверьте эту ссылку

0 голосов
/ 09 октября 2018

Попробуйте перехватить исключение и проверить время отклика сервера

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