Aplikacijos įvykiu loginimas

įvertino 0
Atsakyta (Patvirtinta) Ši žinutė turi 1 patvitintas atsakymas | 4 Atsakymai | 3 Šalininkai

Top 10 autorių
Moteris
63 Žinutės
Taškai 1,395
Asta parašyta 2010-7-20 15:02

Sveiki,

Man reikia tokio dalyko kaip:     Loginti aplikacijos visu vartotoju visus veiksmus (loginami duomenys – data/laikas, vartotojas, veiksmas(perziurejo, redagavo, tryne), objektas/vieta(db lentos ir lauko pavadinimas, iraso nr.))

 

Tokį dalyką daryti aplikacijos lygyje manau būtų užsikasimas (o gal ne :) ). Tad norėjau paklausti gal yra MS kokių įrankių tokiam dalykui. Gal kokiu API? Arba koks būtų Jūsų pasiūlymas pigiausiam išsisukimas tokiam loginimui.

 Ačiū ;)

 

  • | Žinučių taškai: 35

Atsakyta (Patvirtinta) Patvitintas atsakymas

Top 25 autorių
Vyras
9 Žinutės
Taškai 165
Verified by Asta

Aš siūlyčiau panaudoti ORM galimybes, kad įgyvendinti šiuos reikalavimus. Paprastai tokio tipo log'inimas vadinamas paprasčiausia "auditu". Kiekvienas save gerbiantis ORM karkasas turi galimybę praplėsti arba kažką padaryti, prieš/po esybės išsaugojimo/ištrynimo/redagavimo. Pavyzdžiui, NHibernate leidžia prijungti įvairius EventListener:

public class InsertEventListener : IPreInsertEventListener
{
public bool OnPreInsert(PreInsertEvent e)
{
  //Kažką darom, tikrinam ar e.Entity yra teisingo tipo, išsaugom pakeitimus į db ir pan.
  return false;
}

Sergėjus yra rašęs, kaip jis įgyvendino auditą su LINQ to SQL: Sergėjus-Audit-Trail

Savo straipsnyje jis taip pat pamini DoddleAudit biblioteką, skirtą įgyvendinti auditą, jei naudoji LINQ to SQL ar Entity Framework.

Taip pat yra įrankių, kurie tai daro duomenų bazės lygyje, pavyzdžiui: OmniAudit.

Geriau galėsim padėti, kai parašysi, kokį ORM karkasą naudoji.

  • | Žinučių taškai: 40

Visi atsakymai

Top 25 autorių
Vyras
9 Žinutės
Taškai 165
Verified by Asta

Aš siūlyčiau panaudoti ORM galimybes, kad įgyvendinti šiuos reikalavimus. Paprastai tokio tipo log'inimas vadinamas paprasčiausia "auditu". Kiekvienas save gerbiantis ORM karkasas turi galimybę praplėsti arba kažką padaryti, prieš/po esybės išsaugojimo/ištrynimo/redagavimo. Pavyzdžiui, NHibernate leidžia prijungti įvairius EventListener:

public class InsertEventListener : IPreInsertEventListener
{
public bool OnPreInsert(PreInsertEvent e)
{
  //Kažką darom, tikrinam ar e.Entity yra teisingo tipo, išsaugom pakeitimus į db ir pan.
  return false;
}

Sergėjus yra rašęs, kaip jis įgyvendino auditą su LINQ to SQL: Sergėjus-Audit-Trail

Savo straipsnyje jis taip pat pamini DoddleAudit biblioteką, skirtą įgyvendinti auditą, jei naudoji LINQ to SQL ar Entity Framework.

Taip pat yra įrankių, kurie tai daro duomenų bazės lygyje, pavyzdžiui: OmniAudit.

Geriau galėsim padėti, kai parašysi, kokį ORM karkasą naudoji.

  • | Žinučių taškai: 40
Top 25 autorių
Vyras
11 Žinutės
Taškai 280

Bandyti neteko, bet Sql Server 2008 turi įdomių technologijų duomenų pakeitimų sekimui:

http://msdn.microsoft.com/en-us/library/bb933994.aspx

Tik čia jau turbūt duomenų peržiūros logint nepavyks.

  • | Žinučių taškai: 5
Top 10 autorių
Moteris
63 Žinutės
Taškai 1,395

Naudoju LINQ-To-SQL . Reikės Sergėjaus straipsniuką pasinagrinėti, gal rimtai pavyks kažką panašaus pritaikyti.

Dėkui.

  • | Žinučių taškai: 20
Top 10 autorių
Vyras
182 Žinutės
Taškai 345,520

Asta,

nepamirštam patvirtinti atsakymą, jeigu jis padėjo ;)

  • | Žinučių taškai: 5
Puslapis 1 iš 1 (5) | RSS
DotNetGroup.LT, 2009