当sessionState mode="StateServer" 时,给session赋值一个datatable对象,这样能存得了吗?我好像在哪见过StateServer模式存储对象必须要先序列化。

解决方案 »

  1.   

    在使用StateServer或者SQLServer存储Session时,所有需要保存到Session的对象除了基本数据类型(默认的数据类型,如int、string等)外,都必须序列化。只需将[Serializable]标签放到要序列化的类前就可以了。   
       如:   
       [Serializable]   
       public    class    MyClass   
       {   
               ......   
       }   
      

  2.   

    存的时候记得别显示的将datatable给销毁掉,如果里面有些自定义的东西会找不到的。
    不过自定义的东西序列化后没试过!
      

  3.   

    自定义类可以这样序列化
    [Serializable] 
    public class MyClass 

    ...... ……
    }Session["dt"]=MyClass;DataTable如何序列化?这样用不行吧public Datable FunGetTable()
    {
    ...... ……
    }DataTable dt=FunGetTable();
    Session["dt"]=dt;