J'ai un service WCF sécurisé avec nom d'utilisateur et mot de passe (à l'aide de SqlMembershipProvider). Je souhaite enregistrer chaque tentative de connexion (réussie ou échouée) à ce service et enregistrer les informations d'identification de l'utilisateur dans la base de données à l'aide du bloc d'application de journalisation. Quand je tourne la consignation de WCF et trace avec journalisation Application Block, je reçois quelque chose comme ça (environ 100 de ces journaux pour une tentative de connexion):Enregistrement WCF à l'aide du bloc d'application de journalisation
Timestamp: 6/5/2009 12:03:01 PM
Message: <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Start"><TraceIdentifier>http://msdn.microsoft.com/en-US/library/System.ServiceModel.Diagnostics.ActivityBoundary.aspx</TraceIdentifier><Description>Activity boundary.</Description><AppDomain>IX.Services.Host.vshost.exe</AppDomain><ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord"><ActivityName>Execute 'Services.Contracts.ILoginService.Login'.</ActivityName><ActivityType>ExecuteUserCode</ActivityType></ExtendedData></TraceRecord>
Category: System.ServiceModel
Priority: 2147483647
EventId: 131085
Severity: Start
Title:
Machine: PC204
Application Domain: Services.Host.vshost.exe
Process Id: 7864
Process Name: D:\..\Services.Host.vshost.exe
Win32 Thread Id: 6392
Thread Name:
Extended Properties: TraceEventCache - System.Diagnostics.TraceEventCache
Je ne peux pas trouver toutes les informations utiles à partir de ces journaux (à savoir l'utilisateur lettres de créance). Donc, ma question est: comment puis-je connecter les informations d'identification de l'utilisateur des services WCF à la base de données en utilisant le bloc d'application de journalisation?
Merci d'avance pour votre réponse!