2013-08-29 5 views
11

Ich weiß, das ist wahrscheinlich eine ziemlich grundlegende Frage, aber ich bin brandneu bei WCF und Service-Erstellung. Ich verwende einen lokal gehosteten WCF-Dienst mit Microsoft VS 2010 C# 4. Ich versuche, den Dienst über die URL durch einfaches Binden auszuführen und die PUT- und die GET-Methode über die URL auszuführen. Ich bekomme die:WCF-Dienst: Wie finden Sie Serverprotokolle, um Fehler zu verstehen?

. Weitere Informationen finden Sie in den Serverprotokollen.

Fehler, wenn ich versuche, eine Serviceanfrage zu stellen. Wie kann ich diese Serverprotokolle finden?

Antwort

11

Protokollierung ist nicht unbedingt aktiviert. Ablaufverfolgung und Protokollierung müssen in der WCF-Konfiguration (app.config oder web.config) aktiviert werden. Sie können dies manuell tun oder indem Sie auf app.config klicken und dann WCF-Konfiguration bearbeiten auswählen. Wenn dieses Element nicht im Kontextmenü angezeigt wird (passiert in alten VS-Versionen), können Sie es im VS Tools-Menü finden oder manuell ausführen (SvcConfigEditor.exe).

Standardmäßig werden Nachrichten in Dateien im Verzeichnis protokolliert, von dem aus die Anwendung ausgeführt wird. Sie können dies im Konfigurationseditor bearbeiten, sobald Sie die Protokollierung aktiviert haben. Mit dem Editor können Sie den Dateipfad angeben, sobald Sie die Protokollierung oder Ablaufverfolgung aktiviert haben.

WCF Configuration Editor

Sie können später Microsoft Service Trace Viewer-Tool durch die Dateien für den Gang, so groß XMLs verwenden und sind nicht benutzerfreundlich. Das Viewer-Tool sollte sich selbst anzeigen, sobald Sie auf die Protokolldateien doppelklicken, oder Sie können es manuell ausführen (SvcTraceViewer.exe).

enter image description here

+0

geht Danke für Ihre Hilfe. Jemand zeigte dann WCF Test Client, der es viel einfacher machte –

+0

Ja, ** WcfTestClient.exe ** ist super cool tool. Es kann auch bei Webdiensten helfen, die ohne WCF erstellt wurden. –

+0

@ NikolaRadosavljević, Trace-Protokoll protokolliert, wenn ein von IIS gehosteter WCF-Dienst einen Fehler verursacht? Ich habe versucht, log in der web.config hinzufügen - es zeigt, dass Dienst nicht verfügbar ist Fehler - aber keine Aufzeichnung als warum der Service fehlgeschlagen für das Hosting der Adresse selbst? Sollte es geloggt worden sein? – Drag0nKn1ght

12

Fügen Sie diese zu Ihrer web.config. Sie geben an, wo das Protokoll in das InitializeData-Attribut des Tracelisten

<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> 
+0

Kann ich die Antwort-XML sehen, die der Service sendet? Ich konnte es in der Protokolldatei nicht sehen –

Verwandte Themen