2013-08-29 9 views
11

So che questa è probabilmente una domanda di base, ma sono nuovissima per la creazione di servizi e WCF. Sto facendo funzionare un servizio di WCF ospitato locale usando Microsoft VS 2010 C# 4. Sto cercando di eseguire il servizio tramite l'URL attraverso il binding semplice e l'esecuzione dei metodi PUT e GET attraverso l'URL. Sto ottenendo il:Servizio WCF: come trovare i log del server per capire l'errore?

. Vedi i log del server per maggiori dettagli.

errore quando si tenta di effettuare una richiesta di servizio. Come posso trovare questi registri del server?

risposta

11

La registrazione non è necessariamente attiva. Tracciamento e registrazione devono essere abilitati nella configurazione WCF (app.config o web.config). È possibile eseguire questa operazione manualmente o facendo clic su app.config e quindi selezionando Modifica configurazione WCF. Se questo elemento non appare nel menu di scelta rapida (accade nelle vecchie versioni di VS), puoi trovarlo nel menu Strumenti VS o eseguirlo manualmente (SvcConfigEditor.exe).

Per impostazione predefinita, i messaggi vengono registrati nei file nella directory da cui viene eseguita l'applicazione. È possibile modificare questo nell'editor di configurazione dopo aver abilitato la registrazione. L'editor ti consentirà di specificare il percorso del file una volta abilitata la registrazione o la traccia.

WCF Configuration Editor

È possibile poi utilizzare lo strumento Microsoft Service Trace Viewer per passare attraverso i file, come i grandi XMLs e non sono di facile uso. Lo strumento Viewer dovrebbe apparire automaticamente quando si fa doppio clic sui file di registro oppure è possibile eseguirlo manualmente (SvcTraceViewer.exe).

enter image description here

+0

Grazie per il vostro aiuto. Qualcuno ha poi mostrato WCF Test Client che lo ha reso molto più semplice –

+0

Sì, ** WcfTestClient.exe ** è uno strumento fantastico. Può anche aiutare con servizi web creati senza WCF. –

+0

@ NikolaRadosavljević, potrebbe tracciare registro se un servizio WCF ospitato da IIS non riesce a ospitare per qualche errore? Ho provato ad aggiungere il log in web.config - mostra che il servizio non è un errore disponibile - ma non è stato registrato il motivo per cui il servizio non è riuscito a ospitare l'indirizzo stesso? Dovrebbe essere stato registrato? – Drag0nKn1ght

12

Aggiungi questo al vostro web.config. si specifica dove va il log nell'attributo initializeData del 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> 
+0

Posso vedere la risposta XML che il servizio invia? Non riuscivo a vederlo nel file di registro –

Problemi correlati