专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DotNet Exception

自定义的类不支持viewstate序列号,请问怎么解决.

发布时间:2011-06-26 20:19:09 文章来源:www.iduyao.cn 采编人员:星星草

自定义的类不支持viewstate序列号,本来我是用session的,结果发现数据老丢失,所以想换成viewstate,但是报错,说不支持序列化,要怎样改写这个实体类才支持序列号?

要加个什么东东?

------解决方法--------------------------------------------------------
http://msdn2.microsoft.com/zh-cn/library/system.runtime.serialization.iserializable(VS.80).aspx

http://www.cnblogs.com/wdxinren/archive/2004/10/23/55826.html

http://book.chinaz.com/others/web/web/aspnet/index2/16.htm

等等。


不过,Session中的东西放到ViewState中,没有道理,对数据的作用域一致性要求根本不一样,实在差别太大。
------解决方法--------------------------------------------------------
asp.net的Session还已经现成地具有状态服务器、使用SQL Server数据库的管理方法。

如果要自己写一种,那么大概这样定义:

class abstract mySession
{
abstract public void Set(string SessionID,string Key,object Data);
abstract public object Get(string SessionID,string Key);
}

就可以了,似乎自己写一个自己的Session集合管理程序非常简单。你可以使用任何办法去实现Set和Get,可以针对数据库、XML等等各种存储方法。当然,最好应该自动进行数据缓冲。

------解决方法--------------------------------------------------------
那是因为Session过期了,你可以看看过期时间的设置
------解决方法--------------------------------------------------------
http://aspalliance.com/1182_Troubleshooting_Session_Related_Issues_in_ASPNET

http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx

session和viewstate生存周期和作用范围是不一样的,建议还是看看上面的文章,找出session丢失的原因
------解决方法--------------------------------------------------------
简单序列化类,增加[Serializable]标记即可。
Session丢失的问题可能跟你调试有关系。
debug 状态可以设置web.config 中 cookieless =true;

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: