Отладка HTTP 500 (внутренняя ошибка сервера) в службе WCF / Staging - PullRequest
8 голосов
/ 10 ноября 2011

У меня есть несколько служб WCF, которые отлично работают локально; клиент может их использовать, а сервер помещает данные в БД, как и ожидалось. Проблема в том, что при развертывании их на промежуточной машине я вижу только ошибки HTTP 500.

Как начать отладку проблемы?

Учитывая, что это только на стадии подготовки, а не на моей локальной машине разработчика, я предполагаю, что это где-то проблема конфигурации IIS.

Когда я использую Fiddler, чтобы увидеть, что отправляется и каков ответ, я вижу (как и ожидалось) правильные данные запроса, и только 500 в качестве ответа - никаких подробностей.

Я довольно зеленый для WCF и IIS, так что это, вероятно, что-то очевидное; Я использовал aspnet_iisreg, развернул мой .svc файл и все встроенные DLL / файлы из bin; может я что то пропустил.

Я посмотрел в журналах IIS, но они довольно скудны; там тоже нет информации об ошибке (или, может быть, я смотрю не в том месте?)

(Более важным, чем решение конкретной проблемы, является выяснение того, как получить достаточно подробную информацию об ошибках, чтобы я мог самостоятельно решать проблемы.)

Редактировать: Я, конечно, сначала проверил журналы событий - и, что удивительно, не нашел упоминаний об исключениях. Поэтому я предполагаю, что служба по крайней мере вызывается, и что-то неисправно в середине.

Ответы [ 4 ]

6 голосов
/ 10 ноября 2011

Первое место для поиска ошибок - журнал событий на сервере.Должна быть основная информация, почему запрос не был обработанЕсли это связано с WCF, вы можете включить WCF tracing и проверить подробности в сгенерированных журналах.

2 голосов
/ 13 ноября 2015

Добавить:

<httpErrors errorMode="Detailed"/>

В Web.config в:

<system.webServer>

И посмотреть, что происходит более подробно.

1 голос
/ 01 июня 2012

Оказывается, что сервер возвращал 500 из-за возвращенного огромного набора данных; WCF накладывает некоторые ограничения на размер данных (и строк), которые вы можете вернуть, чтобы предотвратить атаки DOS. Я решил проблему, увеличив пределы и уменьшив размер возвращаемых данных (где применимо).

1 голос
/ 10 ноября 2011

«Внутренняя ошибка сервера Http 500» может возникнуть, если срок действия пароля учетной записи службы истек. Убедитесь, что у вас нет проблем с учетной записью службы, на которой запущен пул приложений в IIS.

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