asp.net c# 中的最佳审计跟踪流程?
记录在 ASP.NET 应用程序中完成的操作、活动等的最佳方法是什么?另外,哪个存储最适合记录这些? XML?数据库?
非常感谢。
What is the best way in logging actions, activities, etc done in an asp.net application. Also, which storage is best for logging these? XML? DB?
Thank you very much.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我最讨厌的答案实际上适用于此:“这取决于”。具体来说,这取决于几个因素:
对于应用程序日志记录,请查看著名的提供商,例如 log4net 或 Enterprise Library 日志记录应用程序块;两者都允许您配置要登录的位置(文本文件、数据库等)。
对于记录数据库操作,我建议在数据库中使用解决方案。 SQL Server 2008 的多个版本都内置了对审计的支持,Oracle 多年来一直提供这种支持 IIANM。
The answer I hate most, actually applies here: "it depends". Specifically, it depends on several things:
For application logging, look at well-known providers such as log4net or the Enterprise Library logging application block; both allow you to configure where you want to log to (text file, database, etc).
For logging database actions, I suggest a solution in the database. Several versions of SQL Server 2008 have built-in support for auditing, Oracle has had this for years IIANM.
PostSharp 可能。登录到数据库。
-- 编辑:
这用于记录所有代码操作。要记录所有数据库操作,我将使用触发器。
PostSharp probably. Log to a DB.
-- Edit:
This is for logging all code actions. To log all DB actions, I'd use triggers.
我会使用:log4net
因为您可以配置和更改输出(文件、邮件、 DB,...)在配置文件中,这样您就不必重建代码。
I would use :log4net
because you can configure and change the output(file, mail, DB, ...) in the config file so you do not have to rebuild your code.
如果您不需要复杂的审核系统,而只是记录代码正在执行的操作,我建议您使用与 .NET Framework 和 ASP.NET 集成的跟踪系统。
在框架中使用非常简单的类,您的代码会发出跟踪,然后通过配置文件,您可以将它们发送到不同的存储系统(文件、数据库、Windows 事件等)。您甚至可以创建自己的商店系统跟踪提供程序
http:// msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx
If you don't need a complex auditing system, but just logging what your code is doing, I'll recommend you to use the tracing system integrated with .NET Framework and ASP.NET.
Using very simple classes in the framework, your code emit traces, and then, via configuration files you can send them to different storing systems (file, database, windows events, ...). You can even create your own store system trace provider
http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx