Mi piacerebbe essere in grado di registrare le informazioni dei messaggi in un database e sto cercando di decidere il modo migliore per farlo. È possibile configurare i meccanismi di registrazione WCF per scrivere su un database anziché su un file? Grazie.Come posso abilitare la registrazione WCF in modo che scriva su un database?
risposta
È necessario disporre di due cose:
- una corretta configurazione per abilitare .NET tracciare
- un listener di analisi per catturare i messaggi di traccia e memorizzarli in un database
Per # 1:
E 'necessario attivare la traccia in WCF prima - è necessaria una voce nel <system.serviceModel>
che consente il tracciamento:
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="300000"
maxSizeOfMessageToLog="200000"/>
</diagnostics>
</system.serviceModel>
successivo, è necessario configurare .NET tracciamento in quanto tale:
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="WcfTrace.Trace.WebTraceListener,WcfTrace.Trace" />
</sharedListeners>
</system.diagnostics>
Qui, invece di WebTraceListener o altri listener predefiniti, è inoltre possibile collegare il proprio listener di traccia orientato al database.
Per 2 #:
È possibile - naturalmente - scrivere il proprio SqlTraceListener
- oppure è possibile utilizzare una delle tante soluzioni già pronte là fuori, per esempio this one here (scaricare il codice da Codeplex).
È possibile utilizzare Log4Net
Se non è necessario l'intero messaggio SOAP, suggerirei di utilizzare log4net con l'implementazione personalizzata IParameterInspector o IDispatchMessageInspector, perché in questo caso è possibile scrivere per registrare solo ciò che è necessario. Altrimenti, prendi la soluzione di marc_s.
- 1. Come abilitare la registrazione con Postgres.app su OS X?
- 2. Posso abilitare la registrazione dettagliata DEX?
- 3. Come abilitare la registrazione di uWSGI in un file?
- 4. Come abilitare la registrazione di debug su jenkins?
- 5. Come abilitare la registrazione per Spring Security?
- 6. Come abilitare la registrazione di Ehcache
- 7. WCF Come abilitare i metadati?
- 8. Come abilitare la registrazione dei messaggi WCF dal codice invece del file di configurazione dell'applicazione
- 9. Servizi WCF, registrazione verticale
- 10. Come abilitare la registrazione degli indirizzi IP con Log4Net
- 11. come abilitare la registrazione a livello di pacchetto in log4j
- 12. Come abilitare la sessione con SSL wsHttpBinding in WCF
- 13. Come abilitare la ricarica live in modo che reagiscano nativi su Android?
- 14. utilizzando un database per la registrazione
- 15. Come abilitare le tracce WCF al livello di programmazione?
- 16. C'è un modo per abilitare sia la sessione che lo streaming in netTcpBinding?
- 17. Come abilitare la registrazione del livello DEBUG con Jetty incorporato?
- 18. Come posso abilitare la validazione jquery su campi readonly?
- 19. Come posso abilitare lo zoom su Android?
- 20. In che modo le callback WCF funzionano su HTTP?
- 21. Come abilitare la registrazione completa named/bind/DNS?
- 22. In che modo abilitare il trascinamento di un file su * .exe e ottenerlo come parametro?
- 23. Posso abilitare la traccia in OWIN?
- 24. WCF: come posso ricreare in modo programmatico questi valori App.config?
- 25. In che modo la profilatura è diversa dalla registrazione?
- 26. Come posso abilitare il 'draggable' su un elemento con contentEditable?
- 27. Come configurare log4net in modo che funzioni su un servizio wcf?
- 28. Come abilitare la compressione GZip in un webservice RESTful WCF self-hosted?
- 29. Come posso abilitare BinaryLiterals?
- 30. Log4net interrompe in modo casuale la registrazione.
Blog [Configurazione del servizio WCF per utilizzare la libreria aziendale: registrazione dell'applicazione per registrare i dati nel database] (http://weblogs.asp.net/sukumarraju/archive/2011/11/07/configuring-wcf-service-to- use-enterprise-library-logging-application-to-log-data-to-database.aspx) ha istruzioni passo-passo, come configurare 'Database Trace listener' –