Служба WCF: как найти журналы сервера, чтобы понять ошибку?
Я знаю, что это, вероятно, довольно простой вопрос, но я новичок в создании WCF и сервисов. Я запускаю локальную службу WCF с помощью Microsoft VS 2010 С# 4. Я пытаюсь запустить службу через URL через простую привязку и запустить методы PUT и GET через URL. Я получаю:
. Подробнее см. Журналы сервера.
при попытке сделать запрос на обслуживание. Как найти эти журналы сервера?
Ответы
Ответ 1
Запись не обязательно включена. Трассировка и ведение журнала необходимо включить в конфигурации WCF (app.config или web.config).
Вы можете сделать это вручную или щелкнув app.config, а затем выбрав Изменить конфигурацию WCF. Если этот элемент не отображается в контекстном меню (это происходит в старых версиях VS), вы можете найти его в меню VS Tools или запустить его вручную (SvcConfigEditor.exe).
По умолчанию сообщения регистрируются в файлах в каталоге, из которого запускается приложение. Вы можете отредактировать это в редакторе конфигурации после включения ведения журнала. Редактор позволит вам указать путь к файлу после включения ведения журнала или трассировки.
![WCF Configuration Editor]()
Впоследствии вы можете использовать средство Microsoft Service Trace Viewer для просмотра файлов, как больших XML файлов, и не являющихся дружественными пользователю. Инструмент Viewer должен появиться сам после того, как вы дважды щелкните файлы журнала, или вы можете запустить его вручную (SvcTraceViewer.exe).
![enter image description here]()
Ответ 2
Добавьте это в свой web.config. вы указываете, где журнал входит в атрибут initializeData tracelistener
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
<listeners>
<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\Temp\SvcLog\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>