asp.net c# 中的最佳审计跟踪流程?

发布于 2024-08-04 13:02:00 字数 80 浏览 3 评论 0原文

记录在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谢绝鈎搭 2024-08-11 13:02:00

我最讨厌的答案实际上适用于此:“这取决于”。具体来说,这取决于几个因素:

  • 日志信息是为谁提供的?是否面向业务用户(即是否有实际业务需求)、信息是否面向应用程序管理、您是否需要深入了解常用功能等。
  • 记录信息的粒度是多少?例如:您只需要知道是否使用了搜索功能,您想知道搜索查询还是还需要有关实际搜索结果的信息?
  • 有多准确&信息必须完整吗?审计追踪要求通常非常严格,而技术要求通常不那么严格。
  • 您希望能够回滚操作/活动吗?如果是这样,谁将执行此操作(业务用户、支持人员)
  • 您的部署是什么样的?如果您有一台服务器,那么记录到文本文件或 XML 比您有场/负载平衡环境更可行。

对于应用程序日志记录,请查看著名的提供商,例如 log4net 或 Enterprise Library 日志记录应用程序块;两者都允许您配置要登录的位置(文本文件、数据库等)。
对于记录数据库操作,我建议在数据库中使用解决方案。 SQL Server 2008 的多个版本都内置了对审计的支持,Oracle 多年来一直提供这种支持 IIANM。

The answer I hate most, actually applies here: "it depends". Specifically, it depends on several things:

  • Who is the logging information for? Is it intended for business users (i.e., are there actual business requirements), is the information oriented at application management, do you need insight in frequently used features, etc.
  • What is the granularity of the logged info? For instance: do you only need to know if the search function was used, do you want to know the search query or do you also need info on the actual search results?
  • How accurate & complete does the info have to be? Audit trail requirements are usually very tight, technical ones often less so.
  • Do you want to be able to roll back the actions/activities? And if so, who is going to do that (business user, support personnel)
  • What does your deployment look like? If you have a single server, logging to text files or XML is more feasible than if you have a farm/load balanced environment.

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.

幸福不弃 2024-08-11 13:02:00

PostSharp 可能。登录到数据库。

-- 编辑:

这用于记录所有代码操作。要记录所有数据库操作,我将使用触发器。

PostSharp probably. Log to a DB.

-- Edit:

This is for logging all code actions. To log all DB actions, I'd use triggers.

哆啦不做梦 2024-08-11 13:02:00

我会使用: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.

司马昭之心 2024-08-11 13:02:00

如果您不需要复杂的审核系统,而只是记录代码正在执行的操作,我建议您使用与 .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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文