ASP.NET Web应用程序审核日志

时间:2013-05-30 07:28:36

标签: c# asp.net sql-server-2008 webforms audit-logging

我有一个要求,我必须使用SQL Server 2008将审计日志功能放在C#中的现有Asp.net Web窗体应用程序中。此应用程序中有各种页面,它们使用 formviews,listviews,gridviews插入,更新和删除数据。要求是使用修改/删除的数据,用户详细信息和时间戳捕获这些事件中的每一个。

我想想法/建议关于如何轻松实现这个(应用程序端的代码)并且只使用一个AuditLog表(数据库)侧)即可。这是我最初的表格设计:

- AuditId uniqueidentifier
- TableName varchar(100)
- RecordId varchar(100) (some tables have int as primary and some have guid)
- Action char(1) (I - insert, U - update, D - delete)
- RecordData varchar(MAX) (dump all data for that record, not sure about this field, need help??)
- ActionDate datetime 
- ActionedBy varchar(20) (user)

提前致谢...

1 个答案:

答案 0 :(得分:1)

您使用什么技术进行数据访问?使用EF,您可以处理SavingChanges事件:

http://www.codeproject.com/Articles/34491/Implementing-Audit-Trail-using-Entity-Framework-Pa

使用NHibernate,实现IInterceptor:

http://nhforge.org/wikis/howtonh/creating-an-audit-log-using-nhibernate-events.aspx