首页 / C# / C#-序列化ASPX页面?
C#-序列化ASPX页面?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-序列化ASPX页面?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2376字,纯文字阅读大概需要4分钟。
内容图文
![C#-序列化ASPX页面?](/upload/InfoBanner/zyjiaocheng/653/f2805de6b9d54287b1a12a21fd49ad2b.jpg)
我处于需要使用外部会话状态服务器的情况下,该服务器需要将所有会话序列化.我一直在尝试使用[Serializeable()]属性使存储在会话中的所有类可序列化.
但是,我不断收到以下错误:
Unable to serialize the session state.
在StateServer和SQLServer模式下,ASP.NET将序列化会话状态对象,因此,不允许不可序列化的对象或MarshalByRef对象.如果自定义会话状态存储在“自定义”模式下进行了类似的序列化,则存在相同的限制.
但是更有趣的是堆栈跟踪:
[SerializationException: Type ‘ASP.useroverview_aspx’ in Assembly ‘App_Web_pwonykbc, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’ is not marked as serializable.]
System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +9452985
System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +247
System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +160
System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder) +218
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo) +388
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +444
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +133
System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1708
据我所知,ASP.useroverview_aspx类型是一个ASPX页面.我加载的页面是Useroverview.aspx.但是,我不会尝试在会话中存储此页面.所以这个错误让我很疑惑.
我试图在后面的代码中执行以下操作:
[Serializable()]
public partial class UserOverview : Page
{
private static readonly int TimerInterval = HttpContext.Current.IsDebuggingEnabled ? 2000 : 750;
// ...
}
这根本没有帮助!
所以我想知道是否可以序列化ASPX页面?这不知道这是否有意义.我对此表示怀疑!
谢谢…
解决方法:
我找到了答案.你们是正确的:我的一个对象引用了该页面.
我有一个对象播放器,其中包含事件列表.这些事件之一以当前页面为目标,从而导致了问题.
我为事件提供了以下不可序列化的属性:
[field: NonSerialized]
然后一切正常.他们从此过着幸福的生活!
内容总结
以上是互联网集市为您收集整理的C#-序列化ASPX页面?全部内容,希望文章能够帮你解决C#-序列化ASPX页面?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。