Ведение журнала WCF не работает, пытаясь получить ЛЮБУЮ информацию о том, почему службы не работают - PullRequest
5 голосов
/ 29 июня 2010

Я развернул несколько служб WCF на сервере через проект веб-установки они размещаются в приложении IIS, которое работает нормально.

Однако, когда я пытаюсь перейти к wsdl, ничего не найдено.

Я пытаюсь настроить ведение журнала диагностики, чтобы получить некоторую информацию.

Я следовал совету, приведенному здесь: wcf пытается настроить трассировку для отладки, а не записывать в файл журнала

Кроме того, я попробовал то, что указано в документации MSDN, указанной здесь: http://msdn.microsoft.com/en-us/library/aa702726.aspx в разделе «Рекомендуемые настройки для развертывания или отладки». Мой web.config имеет такую ​​же конфигурацию. Но файл журнала не создается.

Ничего полезного в программе просмотра событий.

Есть идеи? Спасибо !!

Ответы [ 3 ]

3 голосов
/ 29 июня 2010

Может быть проблема с разрешениями;IIRC те не всегда появляются в журнале событий.Убедитесь, что пользователь IIS работает с правами на запись в путь файла журнала.

2 голосов
/ 07 июля 2010

Обычно это диагностическая конфигурация, которую я использую. Кажется, работает на меня.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
  ... 
  <system.diagnostics> 
    <trace autoflush="true" /> 
    <sources> 
      <source name="System.ServiceModel" 
              switchValue="Verbose"> 
        <listeners> 
          <add name="sdt" 
              type="System.Diagnostics.XmlWriterTraceListener" 
              initializeData="D:\wcfLog.svcLog"  /> 
        </listeners> 
      </source> 
    </sources> 
  </system.diagnostics> 
</configuration>

Если вы не получаете никаких выходных данных, это может быть связано с тем, что ваша служба запускается неправильно. ServiceHost должен быть включен для диагностики, чтобы вывести что-либо. С IIS, даже если ваш сайт работает, это не означает, что ServiceHost запущен правильно. Обычно это проблема конфигурации. Я не веб-парень, но разве IIS не пишет в EventViewer, если на сайте есть необработанное исключение?

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

Создание собственного ServiceHost в IIS -> LINK

1 голос
/ 09 августа 2012

Это старый вопрос, но в интересах любого, кто может наткнуться на проблему:

  1. Убедитесь, что вы настроили system.diagnostics и System.serviceModel / диагностика разделы настроены.
  2. Убедитесь, что они настроены в правильном файле App.config / Web.config.Следует отметить, что в проекте может существовать несколько файлов конфигурации , и используемый файл зависит от Конфигурация сборки .

Лично у меня был тот же самый симптом, пока я не заметил, что я помещаю разделы в app.config (в моем случае, трассировка на стороне клиента) вместо app.DebugLocal.config .Последний использовался, поскольку моя конфигурация сборки была установлена ​​на DebugLocal .

...