相关疑难解决方法(0)

在ASP.NET MVC应用程序上记录用户活动

是否有一个很好的策略来记录ASP MVC应用程序上的用户活动?(ActionFilters/HTTPModules).

像上次用户活动的东西(就像StackOverflow"23分钟前看到的那样"),甚至是使用的页面和控制器,并进一步推动了点击的按钮或链接.

我安装了ELMAH但据我所知它只是用于错误记录.

PD:谷歌分析不是一个选项.

asp.net-mvc logging user-activity audit-trail audit-logging

22
推荐指数
3
解决办法
3万
查看次数

跟踪asp.net mvc网站的用户活动/操作?

我想为我的Web应用程序的所有用户保留每个页面视图的日志.经过足够的时间后,我将使用该日志生成报告.我想让日志记录机制有点灵活,因为我不需要记录每个http请求.

一个示例用例是:公司注册我的Web应用程序,允许5名员工使用该应用程序.我想报告说,上周有3名员工使用了该应用程序.或者表明当年6月至8月期间有4名员工使用过它.

我正在使用asp.net mvc与sql server,如果这有所不同.

它就这么简单吗?使用以下列创建一个sql表:UserId,ControllerName,ActionName,ActionParameters,CreatedOn.然后创建一个ActionFilterAttribute,为每个调用的操作向db添加记录.

是否有任何我应该担心的陷阱(除了可能很大的表格大小)?

c# asp.net-mvc

7
推荐指数
1
解决办法
7822
查看次数

设计模式以促进这些行为(审计跟踪行为和撤消)

我正在研究一个需要展示这些行为的系统:

  1. 审计跟踪
  2. 撤消/恢复到特定版本(此类操作本身将被审核记录)

在这里看到了一个稍微类似的问题,但它只涉及我正在尝试做的部分内容.此外,我想捕获对象的整个生命周期(即CRUD).

我打算实现这个的方式如下:

  1. 拥有一个基于观察者模式的ChangeManager类
  2. 从基础对象派生我的对象,该对象"包装"命令模式中的更改
  3. 在任何CRUD事件上使用命令对象通知ChangeManager

注意:'change'命令将包括:

  • 一个(有序的)2元组的集合,详细说明了现场变化(上一个,新的)
  • 进行更改的用户的ID
  • 变化的时间戳

这只是"脱离我的头脑" - 我正在考虑采取的方法可能存在漏洞 - 我会感谢以前实施过此类行为的人的一些帮助,以及一般建议,专业人士和关于我上面概述的方法的缺点 - 或者可能是更好/替代的方法.一个或两个指向正确方向的片段也将非常感激!

我将使用C#作为实现语言.

c# design-patterns system-design

7
推荐指数
1
解决办法
2886
查看次数