У меня есть веб-сервис, который работает в течение многих лет. Сегодня кто-то сказал мне, что он дал серверу ошибку 500. Я проверил журналы сервера в течение последних нескольких месяцев, и кажется, что я получаю статус 200 для 99% вызовов услуги, а затем несколько 500 и снова спешить. Сам журнал журнала немного здоров, чтобы читать, поэтому я попытался немного его уменьшить, не изменив ничего важного.Почему я получаю ошибку сервера 500 спорадически?
Вот выдержка из журнала сервера:
2013-09-16 09:58:19 <Server IP> GET /WebServicePath/WebService.asmx - 80 - <Server IP> <User Agent String> 200 0 0 874
2013-09-16 09:58:22 <Server IP> GET /WebServicePath/WebService.asmx op=MyFunction 80 - <Server IP> <User Agent String> 200 0 0 203
2013-09-16 09:58:35 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 500 0 0 437
2013-09-16 09:58:42 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 500 0 0 0
2013-09-16 09:58:53 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 200 0 0 499
2013-09-16 09:59:05 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 200 0 0 203
2013-09-16 09:59:11 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 200 0 0 187
2013-09-16 09:59:16 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 200 0 0 296
2013-09-16 10:03:17 <Server IP> POST /WebServicePath/WebService.asmx/MyFunction - 80 - <Server IP> <User Agent String> 500 0 0 15
статус HTTP является четвертым номером справа.
Сервер IIS7 и строка пользовательского агента используется следующим образом:
Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.1;+WOW64;+Trident/5.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729)
Я проверил просмотр событий для чего вошедшего в те времена, когда я получил 500s, но ничего не нашел.
Я нашел много примеров того, как люди получают ошибку сервера 500 на недавно развернутых сервисах, и у них обычно возникает проблема сборки. Но почему бы это просто случайным образом дать 500 и быть в порядке?
Почему эти ошибки были бы случайными? Первое, что нужно сделать, - это регистрировать дополнительную информацию при возникновении ошибки. [Эта ссылка] (http://stackoverflow.com/questions/211530/why-global-asax-application-error-method-does-not-catch-exceptions-thrown-by-asm) может быть полезна. – Marshall777
Я тоже получаю это. Хотелось бы узнать, если вы когда-нибудь это поняли. –
@JordanParker В моем случае это неожиданно оказалось файлом. Служба будет использовать подключающегося пользователя AD для доступа к определенной папке, что оказалось проблемой для двух пользователей в одном офшорном офисе. Я исправил это, удалив эту зависимость, но мог бы сделать это, предоставив права администратора пользователю веб-службы и всегда используя это, или добавив разрешения для пользователя AD. Я был весьма разочарован тем, что он оказался таким обыденным;) –