本帖最后由 meapex 于 2012-02-12 22:06:49 编辑

解决方案 »

  1.   

    任何你觉得没有主键的表,你都可以用int或者guid建立主键。如果你需要记录所有的登录记录,那么这个类似日志了,否则,直接写在用户信息表里面就可以了。没有正常退出可以拦截会话失效,参考:http://www.tyronedavisjr.com/2008/11/23/detecting-session-timeouts-using-a-aspnet-mvc-action-filter/
      

  2.   

    感谢楼上的回复。
    “任何你觉得没有主键的表,你都可以用int或者guid建立主键。”我有些不明白,这个字段应该存放什么内容?另外我确实是需要记录所有的登录记录,请问这应该如何考虑?
      

  3.   

    1、主键用自增ID,因为这种日志表数据量都比较大,写入比较多,要使用有序的主键,这样性能好,省的数据库调整聚集索引,当然你也可以用DateTime.Ticks,是有序的 也是有时间意义的。2、推荐第二种 ,扩展性比较好,用户行为是一对多的关系,以便以后增加其他的扩展3、非正常退出没必要记录,浪费空间。