AkhilVarghese Ответов: 1

Я пытаюсь вызвать webmethod на ASP.NET веб-страница с javascript-страницы. Происходит 500 внутренних ошибок сервера.


Я пытаюсь вызвать webmethod на ASP.NET веб-страница с javascript-страницы. Происходит 500 внутренних ошибок сервера.

мы применили loadbalance на нашем сайте. у нас есть 3 сервера. эта ошибка 500 возникает не всегда. Когда я проверяю его, я получил ошибку один раз, когда сервер был изменен.

Есть ли шанс получить 500 внутренних ошибок(когда я меняю сервер 100 раз, получил ошибку только в 1 раз), когда сервер меняется?

каковы основные критерии для получения ошибки 500?

Как я могу решить эту проблему?

Что я уже пробовал:

Я проверил параметры и тип значений, формат данных или другие вопросы, связанные с данными. Но я не могу найти любую вещь

F-ES Sitecore

Вам нужно будет проверить файлы журнала, чтобы узнать, можете ли вы найти сведения об ошибке, или реализовать свой собственный пользовательский журнал ошибок 500, чтобы войти, когда это произойдет, и идти оттуда. Не зная подробностей ошибки, вы ничего не сможете сделать.

https://www.google.com/search-что?q=custom+500+error+logging+iis

ZurdoDev

500-это общая ошибка сервера. Надеюсь, журналы где-нибудь дадут больше подробностей.

1 Ответов

Рейтинг:
2

Afzaal Ahmad Zeeshan

Цитата:
каковы основные критерии для получения ошибки 500?
Вы пишете код, который, скорее всего, столкнулся с исключением во время выполнения. Он может варьироваться от нулевого объекта до доступа к элементу вне индекса, до неопределенного вызова функции (в случае динамических языков) вплоть до обычных, но необычных нарушений протокола HTTP—таких как отправка ответа клиенту, когда ответ уже был отправлен, мы часто сталкиваемся с этим в Node.js веб-приложения.
Цитата:
Есть ли шанс получить 500 внутренних ошибок(когда я меняю сервер 100 раз, получил ошибку только в 1 раз), когда сервер меняется?
Если вы имеете в виду изменение сервера в среде с балансировкой нагрузки, то хорошо в этом случае это мочь это произойдет, если ваши HTTP-запросы и их ответы сильно зависят от информации сеанса, и вы попытаетесь получить доступ и использовать переменную сеанса, которая была недоступна на этом сервере. Но этот вопрос действительно является дискуссионным, и без четких доказательств вашей архитектуры мы можем оказать очень мало помощи. Ваш ASP.NET приложения, прежде всего, обрабатывают всю эту информацию, и в большинстве случаев вы можете проверить наличие значения перед доступом к нему,
if(Session["variable"] != null) {
   // access it
} else {
   // ignore it.
}
Но это только в том случае, если ваш код портит сеансы, есть kajillion других случаев, когда ваш код может пойти не так.
Цитата:
Как я могу решить эту проблему?
Как уже предлагалось, Проверьте свои журналы и посмотрите, в чем заключается ошибка, и если у вас нет журналов, то вы только что узнали, насколько важно ведение журнала в производственной среде. :-)

Одно из предложений состоит в том, чтобы протестировать один и тот же код в вашей среде разработки и посмотреть, как ошибка распространяется в вашем приложении. Еще одно предложение состоит в том, чтобы интегрировать модульное тестирование в ваше приложение и полностью протестировать его перед публикацией в производственной среде, потому что в основном 500 ошибок—это просто нормальные проблемы, которые не учитываются на этапе тестирования-индекс вне границ, исключение нулевой ссылки и т. д.