Si tratta di un framework di registrazione delle attività semplice ma efficiente che desidero integrare con la mia app Web basata su ASP.Net esistente (dispongo di un DB SQL basato su LINQ-SQL backend). Sto usando qualcosa di simile a un'architettura di servizio per eseguire operazioni di DB: questo è il richiamo delle operazioni LINQ rilevanti. Ho una classe di servizio per quasi tutte le entità (cioè la tabella DB) e gestisce le operazioni CRUD.ASP.Net Tracciamento attività utente nel database
In generale, ho bisogno di tenere traccia delle attività come - Mr.X aggiunta una nuova voce, My.Y cercato su questo filtro, Mr.Z esportato il risultato di griglia a un documento di Excel , ecc ... e simili semplice logging basato funzionamento ( registrazione a livello di campo è di gran lunga per ora)
Quindi, ecco cosa ho trovato nei miei due giorni di R & D sulle SO, altri forum e il web:
Approccio 1: Semplice vecchio modo di utilizzare due tabelle: Attività (memorizza TUTTE le attività insieme al relativo attore) & ActivityType (elenca i tipi di attività). Ho un livello di servizio così posso avere una classe "ServieBase" che tocca TUTTI gli eventi CRUD e registra quello in cui sono interessato. Tutto è gestito dall'interno del codice.
Esempio: http://dotnetslackers.com/articles/aspnet/Tracking-User-Activity.aspx
Approccio 2: utilizzare il database trigger per toccare eventi a livello di tabella e quindi eseguire la registrazione. Questo sarà completamente 'astratto' per l'app. Ho il campo "LastModifiedBy" in ogni tabella, quindi otterrò i dati "attore" e potrò fare il logging ma questo potrebbe limitarmi alle operazioni DB & mi serve per tenere traccia delle altre attività dell'app separatamente. ma se vale la pena, posso considerarlo.
Approccio 3: (concettuale, hanno bisogno di ulteriori indicazioni)
3.1 approccio MVC - Stiamo pensando di adottare MVC in futuro e ho trovato alcuni trucchi di registrazione efficienti in MVC come - (IS ther qualcosa di simile per la tradizionale L2S basato sul web-app?)
Log User Activity on ASP.NET MVC Application Track user activity/actions for an asp.net mvc website?
3.2 monitoraggio Servizi Mi sono imbattuto in una funzionalità di "servizio di tracciamento" in windows: esiste il suo equivalente Web?
http://msdn.microsoft.com/en-us/magazine/cc163466.aspx http://www.codeproject.com/KB/WF/WWF__Tracking_Service.aspx?msg=2879654
3.3 Varie - Alcune altre opzioni che mi sono imbattuto, ma non sembrano troppo convincenti o meglio che mi dicono di fare il loro lavoro, ma non il mio :-)
Ref -
http://learn.iis.net/page.aspx/480/sample-web-analytics-tracking-module/
SQL Profiler: https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-5054787.html http://technet.microsoft.com/en-us/library/cc966515.aspx
Allora, che dire? Eventuali suggerimenti e nuovi pensieri sono i benvenuti. Per ora, sembra che mi troverei a metà strada tra i primi due approcci, perché vogliamo che sia facile in futuro essere in grado di aggiungere qualsiasi attività extra da registrare.
Grazie.
Hai fatto bene. Sto cercando di costruire la stessa identica cosa. – Zapnologica