我有一个课,我想把会议:
[Serializable]
public class Model
{
private readonly List<Uri> uris;
public Model()
{
uris = new List<Uri>();
}
public IEnumerable<Uri> Uris { get { return uris; } }
}
此类的实例和一些字符串被添加到Session。使用Sql SessionState。
我的问题是有时当我从会话中获取Model对象时,uris字段为null。请注意,所有其他原始类型的会话项仍然是正确的。 我使用的是ASP.NET 4.0 btw。
有人可以向我解释这是怎么发生的吗?
提前谢谢: - )
答案 0 :(得分:0)
我知道这里发生了什么。真正的原因涉及一些额外的条件: 代码被混淆了。 2.部署新代码(更新)并且旧会话仍在使用时发生错误。
每次代码都经过模糊处理,字段和属性都会获得随机模糊名称。因此,当反序列化sessionstate时,它们的值为null。