【发布时间】:2017-07-08 16:57:18
【问题描述】:
我想为我的 Web 应用程序的所有用户记录每个页面视图。经过足够的时间后,我将使用该日志生成报告。我希望日志记录机制有点灵活,因为我不需要记录每个 http 请求。
一个示例用例是:一家公司注册了我的网络应用程序并允许 5 名员工使用该应用程序。我想报告上周有 3 名员工使用了该应用程序。或显示有 4 名员工在当年的 6 月至 8 月期间使用它。
我正在使用带有 sql server 的 asp.net mvc,如果这会有所不同的话。
就这么简单吗?创建一个包含以下列的 sql 表:UserId、ControllerName、ActionName、ActionParameters、CreatedOn。然后创建一个 ActionFilterAttribute,为调用的每个操作向数据库添加一条记录。
是否有任何我应该担心的陷阱(除了可能很大的表大小)?
【问题讨论】:
-
也许一个更具扩展性的解决方案是使用 Google Analytics 并跟踪我可以解析的“虚拟网址”。像 /reports/
/ / / 。之后,使用他们的数据提要 api 并解析响应 -
不安全,用户可以关闭JS或者屏蔽GA。
标签: c# asp.net-mvc