c# - webpart context.session 为空

标签 c# asp.net session null httpcontext

我一直在使用 session 数组为我的 web 部件存储状态变量...所以我有一个这样的属性:

    public INode RootNode
    {
        get
        {
            return this.Context.Session["RootNode"] as INode;
        }
        set
        {
            this.Context.Session["RootNode"] = value as object;
        }
    }

这通常工作正常。我发现有时,context.session 变量将为空。

我想知道首先导致 session 为 null 的条件是什么,发生这种情况时保留我的对象的最佳方法是什么?我可以只为上下文分配一个新的 HttpSessionState 对象吗?否则这会把事情搞砸吗?


编辑:好的,所以不仅仅是空 session ...整个上下文都搞砸了。当 webpart 进入 init 时,上下文很好......但是当它到达 dropbox selectedindexchange 回发事件(dropbox 包含用于设置 rootnode 变量的节点 id)时,上下文主要包含空属性。

此外,它似乎只在选择了某些 ID 时才会发生。这看起来更像是我这边的某种奇怪错误,而不是我对 session 的理解问题。

最佳答案

System.Web.HttpContext.Current.Session

但是,上下文并不依赖于类,例如。这取决于正在使用的页面/处理程序的上下文。

-西奥

关于c# - webpart context.session 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2518186/

相关文章:

c# - 如何在 C# 中向表中添加动态行

c# - 自定义模块中的 Orchard 权限

javascript - 如何使用 javascript 获取 MVC 应用程序的基本 URL

php - session ID 与 token

php - 如何创建从一台远程服务器到另一台远程服务器的 PHP session ?

c# - 使用 WorldPay 验证支付金额

c# - 反序列化C#中的对象列表

c# - 访问 DataReader 中的特定行

javascript - 如何在转发器控件中垂直而不是水平显示图像行

php - 如何将cookie更改为session?