我正在尝试构建一个日志,其中包含在我的应用程序中完成的每个操作,例如添加或删除数据等等。我用Google搜索并了解我必须使用
System.Security.Principal.WindowsIdentity.currentuser()
这将告诉我当前用户是谁,但我如何记录此特定用户所做的操作?
提前致谢:)
答案 0 :(得分:1)
这取决于您要记录这些操作的位置以及操作的内容。您可以编写一个SQL查询来保存表中的数据,您可以使用像log4net这样的库。但请记住,如果你想记录每页/每班的动作,这需要在每个班级。
答案 1 :(得分:1)
每当您的系统执行用户启动的某些操作时,请将某些内容写入日志文件(或数据库中的日志表或您喜欢的任何存储机制),其中包含标识用户的一些信息,例如用户名(你从System.Windows.Principal.WindowsIdentity.GetCurrent().Name
获得的。
答案 2 :(得分:1)
我也遇到过这个问题。我打算为每个自定义操作添加单独的日志记录方法。例如:当用户删除对象时,会激活方法以保存必要的信息。
虽然我可能会让它变得更加困难。
答案 3 :(得分:1)
为了记录当前用户所做的应用操作,您需要使用log4net
之类的库或自己手动记录它们。
为了让您更轻松并缩短代码,您应该考虑Interceptor
等设计模式(Decorator Factory
可以使用Castle Winsdor library
或{{轻松实现1}}虽然后者更意外)减少了手动记录所需的次数(通过拦截执行操作的类,并使{{1}的所有方法调用登录记录的方法)。