Sql SessionState:某些字段变为null

时间:2012-03-16 14:00:49

标签: c# asp.net .net session-state

我有一个课,我想把会议:

[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。

有人可以向我解释这是怎么发生的吗?

提前谢谢: - )

1 个答案:

答案 0 :(得分:0)

我知道这里发生了什么。真正的原因涉及一些额外的条件: 代码被混淆了。 2.部署新代码(更新)并且旧会话仍在使用时发生错误。

每次代码都经过模糊处理,字段和属性都会获得随机模糊名称。因此,当反序列化sessionstate时,它们的值为null。