为什么Session["xxx']的返回值是object类型!!!!!

解决方案 »

  1.   

    晕,确实如此Object才大小通吃嘛
      

  2.   

    有什么好奇怪的,因为.net的session是设计成什么东西都可以塞进去的。
      

  3.   

    我们知道,.net中的所有类都是object派生出来的,所以只有它可以代表everythingSession可以保存的东西不限于对象的类型,而只跟它是否可以序列化有关系当一个对象保存到Session时,.net会自动对其进行序列化--所谓的序列化,就是变成符合SOAP 规范的 XML 流或者二进制流,然后存放在内存里;读取的时候就是相反的过程,将流反序列为对象
      

  4.   

    Object才大小通吃
    ============
    你可以存放String,int等常见类型的数据!
    也可以存放DataSet,DataTable等对象进去!
    你存进去的时候会给你封装成Object型的!
    取的时候当然就会是Object的了!
    这样主要是因为C#里对数据类型及格式要求很严格!
    而Object又是终极对象类型!
    不论你什么样的数据,都是以Object来存取!
    个人理解。不知道对不对!
    这个都是微软弄的!不服就去找它!
      

  5.   

    不好意思,我上面的回复有误,Session不是任何时候都跟序列化有关系;Session的解释可查看.net framework帮助“会话状态”