У меня есть сервис WCF, который работал отлично, и что-то изменилось, и я не знаю что.
Я получаю это исключение:
System.ServiceModel.FaultException: серверу не удалось обработать запрос из-за внутренней ошибки. Для получения дополнительных сведений об ошибке либо включите IncludeExceptionDetailInFaults (либо из ServiceBehaviorAttribute, либо из поведения конфигурации) на сервере, чтобы отправить информацию об исключении обратно клиенту, либо включите трассировку в соответствии с документацией Microsoft .NET Framework 3.0 SDK. и проверьте журналы трассировки сервера.
Это сбивает с толку, потому что я использую .NET 4.0.
Где я могу включить IncludeExceptionDetailInFaults
? Я сражаюсь, чтобы найти это.
источник
Это в файле app.config.
источник
Если вы хотите сделать это с помощью кода, вы можете добавить такое поведение:
источник
ServiceHost
экземпляру объекта: Пример:ServiceHost serviceHost = new ServiceHost(Program.serviceInstance);
Вы также можете установить его в теге [ServiceBehavior] над объявлением класса, которое наследует интерфейс
Immortal Blue прав в том, что не раскрывает подробности исключений для общедоступной версии, но для целей тестирования это удобный инструмент. Всегда выключайте при отпускании.
источник
Я также получал ту же ошибку, WCF работал правильно для меня, когда я использовал его в среде разработки со своими учетными данными, но когда кто-то еще использовал его в TEST, он выдавал ту же ошибку. Я провел много исследований, а затем вместо обновления конфигурации обработал исключение в методе WCF с помощью исключения ошибки. Также необходимо установить идентичность WCF с теми же учетными данными, которые имеют доступ к базе данных, возможно, кто-то изменил ваши полномочия. Пожалуйста, найдите ниже код для того же:
в вашем service1.svc.cs вы можете использовать это в блоке catch:
И используйте это в клиентском приложении, как показано ниже:
Просто попробуйте это, это поможет точно получить точную проблему.
источник
источник