项目内容不好描述,就拿信息注册做例子了:比如整个注册过程分7~8个注册页面,不同页面的存储信息不同(简单表单、多条数据的列表等等),要在最后一个页面完成填写后确认注册。
    请问:前几个页面的信息如何保存效率较高,较方便?

解决方案 »

  1.   

    严格来说最好放在session中,然后注册成功后直接clear掉,
    如果你保持在request中很容易被人修改
      

  2.   

    信息量少可以放cookie里,信息量大的话建立一个客户端cookie标识放数据库里面.
      

  3.   

    一楼:目前我是放在Session来做的,但是这样的话系统中的Session会非常多,不知道有没有其他的方法
    二楼:“建立一个客户端cookie标识放数据库里面”可以说的具体点儿嘛?
      

  4.   

    为什么要这么做呢?
    asp:Wizard 控件不行吗?
    建议楼主试试看
      

  5.   


    业务上的需求,必须得这么做?asp:Wizard 控件没用过,待会儿去看看,不过我想也是不行的我这边每个页面需处理的数据量比较大
      

  6.   

    session吧   cookies不安全   效率和安全一般很少能够兼得了
      

  7.   

    一个页面用一个session,保存这个页面所有的数据,每个字符串用个符号隔开,
    这样每个页面就一个session,7 8个session也不算多吧。
      

  8.   

    如果数据量大,那就用session,在web.config里设置存放方式,用数据库吧,这样即安全,又不易丢失,但是性能上可能会低些
      

  9.   

    我的项目里都有一个全局的项目启动时间,如
    private static readonly DateTime startTime = new DateTime(2000, 1, 1);
    有一个全局的int型的自动增长唯一标识,如
    private static int _identity = 0;
            private static object identityLock = new object();
            public static int identity
            {
                get
                {
                    Monitor.Enter(identityLock);
                    int nextIdentity = ++_identity;
                    Monitor.Exit(identityLock);
                    return nextIdentity;
                }
            }生成客户端cookie标识,如
    long cookieId=((long)(new TimeSpan(DateTime.Now.Ticks - sys.pub.startTime.Ticks).TotalSeconds) << 32) + sys.pub.identity;
    集群环境还要加上当前服务器IP,当然你也可以用sqlserver或stateServer方式的session.