程序已经写好 但是发现了一个问题:
如果在后台统计的话 很多操作都是跳转到一个处理函数中的(比如所有的点击项目操作) 这样我们就没法准确区分具体对应到哪个操作了
比如点击项目操作包含一下几种:
因为传到后台的只有项目id一个参数 所以不好区分。
目前的解决方法:
仅将点击项目操作分为两种:查询后点击和无关键词点击,用到session存储查询关键词,但是这样区分不知道有没有把所有的情况都考虑进去,可能区分不准确。
准备实施的解决方法:通过在前台页面中用异步处理Ajax完成每个对应的操作。
好处:这样应该可以保证每个操作都准确区分出来 问题:工作量大、不容易扩展
Ajax很有用,但用其实现行为记录可能会过于复杂,因为可能会和UI代码耦合,我的一个初步建议:
1、列出后台你需要监控的API
2、在这些API的第一行,调用你的统一的监控方法,比如UserActionLogging(GetCurrentMethod(), CurrentUser(),CurrentPrject())
这样,是不是能满足你的监控要求?仅供参考。
还有一个问题让我更加想用Ajax解决:我们的界面中大部分链接都是点击后打开新的tab显示,这样导致原tab仍然可以处理,所以用session存储的信息不能区分什么时候消除、什么时候保留,导致就不能用session中存储的信息判断具体是对应什么操作。但前台的操作对应每个界面,同一界面中对应同一html元素的操作是相同的,可以很好解决这个问题。