gpt4 book ai didi

c# - 将 session 转换到对象

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:04 25 4
gpt4 key购买 nike

我正在将 RadTreeNode 对象分配到 session 中(我从调试器中检查 session 不为空)。然后我尝试使用以下代码将其转换回 RadTreeNode 对象。

 RadTreeNode node = new RadTreeNode();
node = (RadTreeNode)Session["nextNode"] as RadTreeNode;

但节点变量仍然为空。有什么建议吗?

最佳答案

Session["nextNode"] 很有可能为空,正如@Richard 在他的评论中所回避的那样。

如果源对象未转换为目标类型,则“as”转换as RadTreeNode 将产生空值。前缀转换 (RadTreeNode) 以引用类型为目标,当 as RadTreeNode 转换失败时不会抛出异常。

您将空值转换为 RadTreeNode 并且您得到了您应该得到的...RadTreeNode 的空引用。

session 通常很糟糕,应尽可能避免。我的猜测是您期望 Session 以一种方式行事,而不是。

例如,RadTreeNode 是否可序列化?已经有一段时间了,所以我不记得 Session 如何处理序列化/反序列化对象,但我猜它会吃掉与序列化相关的任何异常。诚然是一个猜测。

关于c# - 将 session 转换到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com