是否有一个很好的策略来记录ASP MVC应用程序上的用户活动?(ActionFilters/HTTPModules).
像上次用户活动的东西(就像StackOverflow"23分钟前看到的那样"),甚至是使用的页面和控制器,并进一步推动了点击的按钮或链接.
我安装了ELMAH但据我所知它只是用于错误记录.
PD:谷歌分析不是一个选项.
我想为我的Web应用程序的所有用户保留每个页面视图的日志.经过足够的时间后,我将使用该日志生成报告.我想让日志记录机制有点灵活,因为我不需要记录每个http请求.
一个示例用例是:公司注册我的Web应用程序,允许5名员工使用该应用程序.我想报告说,上周有3名员工使用了该应用程序.或者表明当年6月至8月期间有4名员工使用过它.
我正在使用asp.net mvc与sql server,如果这有所不同.
它就这么简单吗?使用以下列创建一个sql表:UserId,ControllerName,ActionName,ActionParameters,CreatedOn.然后创建一个ActionFilterAttribute,为每个调用的操作向db添加记录.
是否有任何我应该担心的陷阱(除了可能很大的表格大小)?
我正在研究一个需要展示这些行为的系统:
我在这里看到了一个稍微类似的问题,但它只涉及我正在尝试做的部分内容.此外,我想捕获对象的整个生命周期(即CRUD).
我打算实现这个的方式如下:
注意:'change'命令将包括:
这只是"脱离我的头脑" - 我正在考虑采取的方法可能存在漏洞 - 我会感谢以前实施过此类行为的人的一些帮助,以及一般建议,专业人士和关于我上面概述的方法的缺点 - 或者可能是更好/替代的方法.一个或两个指向正确方向的片段也将非常感激!
我将使用C#作为实现语言.